对应set容器来说,内部元素都是只读的,这是由容器的特性决定的,因此在for循环中auto&会被视为const auto & 。
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int>V = { 1,2,3,4,5 };
//for(const auto& i:V) 只读
for (auto& i : V) //+上&就可以修改元素值
cout << (i=10) << " ";
cout << endl;
for (auto i = V.begin(); i != V.end(); i++)
cout << *i << " ";
cout << endl;
return 0;
}