【发布时间】:2016-10-12 19:10:10
【问题描述】:
我不明白 c++ 字符串指针在函数传递中是如何工作的。
void print(string str){
str+=" and sisters.";
}
int main(){
string s ="hello brother";
print(s);
cout<<s<<endl;
}
输出:
hello brother
对于以下功能 -
void print(string &str){
str+=" and sisters.";
}
int main(){
string s ="hello brother";
print(s);
cout<<s<<endl;
}
输出-
hello brother and sisters.
我无法理解指针在 "string &str" 和 "string str" 因为我传递的是同一个字符串对象。
【问题讨论】:
-
代码中没有指针,这是传值VS传引用的问题。见Where should I prefer pass-by-reference or pass-by-value?