C++11包含一种新的 for 循环,称为基于范围的 for 循环,可以简化对数组元素的遍历。格式如下:
for(Type VarName : Array){ //每个元素的值会依次赋给 VarName}
例如:
int array[] = {1, 2, 3, 4};for(int x : array){ cout << x;}cout << endl;
例子会输出:1234
定义用于遍历数组的变量时,可以使用和普通函数参数一样的修饰符。本例的 x 变量相当于传值参数。在循环内部更改 x 不会更改数组。但如果用 & 将 x 定义成传引用,对 x 的修改就会反映到数组中。可以使用 const 修饰符指定变量不能修改。
下例将数组的每个元素加一并输出。输出循环用 auto 数据类型自动判断数组元素的类型。
int array[] = {2, 4, 6, 8};for(int &x : array){ x++;}for(auto x : array){ cout << x;}cout << endl;
输出结果为:3579