在下面的代碼中,我在change()函數中使用了一個指向C++字符串的指針。指向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;
}
'* S [2]'是接近,但不足夠接近。你打算寫'(* s)[2]'。 Postfix運算符總是綁定比前綴運算符強的,所以你必須在'* s'周圍使用括號。 – sellibitze 2010-09-15 21:46:05