在下面的代码中,我在change()函数中使用指向c ++字符串的指针.
在使用指向字符串的指针时,是否仍然使用字符串类'运算符?例如,at()适用于[]运算符,但有没有办法使用[]运算符?
#include <string>
#include <iostream>
using namespace std;
void change(string * s){
s->at(0) = 't';
s->at(1) = 'w';
// s->[2] = 'o'; does not work
// *s[2] = 'o'; does not work
}
int main(int argc,char ** argv){
string s1 = "one";
change(&s1);
cout << s1 << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
whe*_*ies 12
取消引用它:
(*myString)[4]
Run Code Online (Sandbox Code Playgroud)
但是,我可以使用引用建议而不是指针:
void change(string &_myString){
//stuff
}
Run Code Online (Sandbox Code Playgroud)
这样你就可以像使用对象一样使用所有东西.