范围for循环是C++11引入的新标准之一,用于遍历容器或其他序列的所有元素。
形式如下:
for (声明:容器或序列)
表达式
例如:
vector <int> v = {1,2,3,4,5,6,7,8,9};
for (auto &r : v)
r *=2;
等价于:
for (auto beg = v.begin(), end = v.end(); beg != end; ++beg) {
auto &r = *beg;
r *= 2;
}
程序执行后:
v = {2,4,6,8,10,12,14,16,18};