#include<iostream>
#include<vector>
using namespace std;
void print(vector<int> & v)
{
for (auto x : v)
cout << x << ' ';
cout << endl;
}
int main()
{
vector<int> v = { 1,2,3,4,5 };
print(v);
for (auto x : v)
x++;
print(v);
system("pause");
return 0;
}
但是这里有一个小坑,for(auto x : v)会创建v中元素的拷贝赋给x,所以如果在for循环体内修改x,是不会影响到v的。
如果想避免拷贝的话,可以这么写:for(auto & x : v)
如果只想读v中的元素,但不想修改v的话,可以这么写:for(const auto & x : v)