T.T*_*.T. 4 c++ oop iterator vector
vector<string> MyStrings;
vector<string>::iterator ItStr;
Run Code Online (Sandbox Code Playgroud)
我正在使用c_str()返回指向字符串的指针.
为什么需要用括号取消引用?
不编译: *ItStr.c_str();
错误C2039:'c_str':不是'std :: vector <_Ty> :: iterator'的成员
在迭代器周围编译/使用括号: (*ItStr).c_str();
如果你能指出我(没有双关语)正确的方向,我会很感激.谢谢!
Jam*_*lis 12
.优先级高于一元*.
*ItStr.c_str()好像你说的那样*(ItStr.c_str()).
当然,你可以使用ItStr->c_str(),因为(*x).y它等同于x->y(至少对于指针和迭代器;当然,你可以为你自己的类型重载操作符,使它们不一致,但是你这样做会很疯狂).