使用函数更改std :: string的内容

时间:2013-08-26 21:43:52

标签: c++ string pointers

我觉得这个答案会快速而简单,但我现在似乎无法解决这个问题。

 #include <string>
 #include <iostream>
 using namespace std;
 void change_thing (string x) {
      x="not thing";
 }
 int main() {
     string maybe_thing;
     maybe_thing="thing";
     change_thing(maybe_thing);
     cout << maybe_thing << endl;
     return 0;
 }

希望 maybe_thing在打印时“不是东西”。我已经尝试了一堆不同的指针策略,但似乎没有任何工作(我可能很容易就是做错了;无论如何我对指针的知识都是不完整的,因为我是c ++的新手。)

提前致谢!

1 个答案:

答案 0 :(得分:2)

您不需要指针,只需pass the string by reference

void change_thing (string & x) {
    x="not thing";
}