1 范围for语句
范围for语句是C++11新标准提供的一种语句,该语句可以遍历给定数组中的每个元素并对数组中的每个值执行某种操作,其格式为:
for(声明:数组)
语句
每次循环,声明中的变量都会被初始化为数组中的下一个元素值。
2 利用范围for语句操作二维数组
在二维数组中使用范围for语句时,需要使用auto关键字来声明变量。
2.1 auto关键字
auto是在C++11标准中引入的类型说明符,由编译器来确定auto变量的类型。其详细用法,请参考《C++中auto类型说明符的使用方法》
2.2 操作二维数组
int arr1[3][4] = { 0,1,2,3,4,5,6,7,8,9,10,11 };
for (auto& row:arr1)
{
for (auto col : row)
{
cout << col << " ";
}
cout << endl;
}
在以上代码中,arr1是一个二维数组,代码使用了两次范围for语句实现了对arr1中所有元素的遍历。需要注意的是,在使用auto关键字声明控制变量时,除了最内层的循环外,其它所有循环的控制变量都要使用引用类型。如果不使用引用类型,编译器会将auto变量的类型确定为指针类型,之后下一层的范围for循环中再使用该指针类型时就会报错。