for循环在C和C++中都是非常常见的语句结构
一般来说,for语句的结构是这样的for(int i;i<=10;i++)
事实上,像是for(; ;)
这样的语句也是成立的,不过需要跳出循环的条件
而在C++中有一种基于范围的for循环,这种循环简化了一种常见的任务:对数组或容器类(如vector或array)的每个元素执行相同的操作
比如
double a[5] = { 3.1,2.6,5.5,6.5,8.9 };
for (double i : a)
printf("%.2f\n", i);
该程序的输出结果为:
3.10
2.60
5.50
6.50
8.90
在该程序中,x最初是数组a的第一个元素,显示第一个元素后,不断进行循环,从而让x依次表示数组中的其他元素
但如果要修改数组中的元素,就要把代码改为
for (double& i : a)
i = i * 0.5;
符合 & 表示 x 是一个引用变量,这种声明能让接下来的代码能够修改数组的内容,而第一种语法不能
另外,数组也可以 用初始化列表表示
for (double i : { 3.1,2.6,5.5,6.5,8.9 })
以上就是基于范围的for循环的简单介绍