为什么是auto &c,不是auto c?
好像加了&就是直接用,不加会把字符串复制一遍,但是事实上如果不加&,对字符串的操作就不会生效,这是为什么呢?
请各位指教
using namespace std;
#include<string>
using std::string;
int main()
{
cout << "please input your string:" << endl;
string s;
cin >> s;
for (auto &c : s)
{
c = 'x';
}
cout << s;
}
首先说的是你这是c++,不是python c++里面&代表引用,修改了引用值c相当于直接修改了s里面的字符 不加&,相当于c只是对s里面字符的复制,修改c不会改变s