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