假设我想编写一个更新输入字符串值的C ++函数foo()。我该怎么做?代码应该看起来像我下面的内容,但我不知道如何正确传递字符串,以便由函数更新。
void foo(String x) // Not sure if I should put an & or * before x
{
x += " Goodbye";
}
void main()
{
String x = "Hello World";
cout << "x = " << x << endl;
foo(x); // Not sure if I should pass a pointer to x,
// a reference to x or what?
cout << "After foo (), x = " << x << endl;
}
(仅供参考,我是为Arduino处理器写的)
答案 0 :(得分:3)
通过引用传递:
void foo(String& x)
{
x += " Goodbye";
}
&
表示该参数是对函数外部String
的引用,而不是副本。
答案 1 :(得分:1)