C++11基于范围的for循环

C++11包含一种新的 for 循环,称为基于范围的 for 循环,可以简化对数组元素的遍历。格式如下:

1 for(Type VarName : Array){
2    //每个元素的值会依次赋给 VarName
3 }

例如:

1 int array[] = {1, 2, 3, 4};
2 for(int x : array){
3  cout << x;
4 }
5 cout << endl;

例子会输出:1234

定义用于遍历数组的变量时,可以使用和普通函数参数一样的修饰符。本例的 x 变量相当于传值参数。在循环内部更改 x 不会更改数组。但如果用 & 将 x 定义成传引用,对 x 的修改就会反映到数组中。可以使用 const 修饰符指定变量不能修改。
下例将数组的每个元素加一并输出。输出循环用 auto 数据类型自动判断数组元素的类型。

1 int array[] = {2, 4, 6, 8};
2 for(int &x : array){
3  x++;
4 }
5 for(auto x : array){
6  cout << x;
7 }
8 cout << endl;

输出结果为:3579

posted @ 2016-01-15 10:41  goodhx  阅读(5441)  评论(1编辑  收藏  举报