C++11新增一种循环:基于范围(range-based)的for循环:简化一种常见的循环任务:对数组(或容器类,如vector和array)的每个元素执行相同的操作

示例:

double prices[5]={4.99, 2.33, 5.86, 6.42, 4.51};
for (double x : prices)
      cout<<x<<std::endl;

其中,x表示数组prices的第一个元素。显示第一个元素后,不断执行循环,而x依次表示数组的其他元素。

#####################################################

要修改数组的元素,需要使用不同的循环变量语法:

for (double &x : prices)
      x=x*0.80;  //20% off sale

符号&表明x是一个引用变量


######################################################


还可结合使用基于范围的for循环和初始化列表:

for (int x : {3, 5, 2, 8, 9})
      cout<<x<<" ";
cout<<'\n';

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐