list<string> l;
string s;
getline(cin, s);
l.push_back(s);
getline(cin, s);
l.push_back(s);
使用输入
123
test
打印列表“l”结果:
123
test
不应该打印:
test
test
我对为什么按值传递字符串感到有点困惑。
最佳答案
push_back
复制传递给它的字符串对象s
。因此,您对 s
所做的任何修改都不会影响推回值。
关于c++ - 在插入列表之前重复使用相同的字符串似乎是按值传递的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4263991/