使用[]运算符在指向wstring的指针上访问元素

时间:2013-09-24 12:18:49

标签: c++ pointers wstring

我无法在指向wstring对象的指针上使用[]运算符,然后使用c_str()函数将其转换为const引用。

在我的程序getwString()中返回指向wstring

的指针

这是有效的:

`if(obj->getwString()->c_str()[5]!='H')`

这不是:

`if(obj->getwString()->[5]!='H')`

如何取消引用它而不是使用c_str()函数需要帮助

2 个答案:

答案 0 :(得分:1)

除了->之外还有另一个解除引用运算符,例如*运算符

std::wstring * ptr = obj->getwString();
(*ptr)[5];

或只是

(*obj->getwString())[5];

答案 1 :(得分:1)

如果你真的想以这种方式访问​​它,你可以这样做:

if(obj->getwString()-> operator [](5) != 'H'),但这不是很漂亮。