这是最新标准C++11中新增的范围迭代语法。
int array[5]={1, 2, 3, 4, 5}
for(int&x : array)
{
x *=2
}
上面 for 述句的第一部份定义被用来做范围迭代的变量,就像被声明在一般 for 循环的变量一样,其作用域仅只于循环的范围。而在":"之后的第二区块,代表将被迭代的范围。这样一来,就有了能够允许 C-style 数组被转换成范围概念的概念图。这也可以是 std::vector,或是其他符合范围概念的对象。
上面的代码对array数组中的每个元素都乘以2