【C++ Primer Plus学习记录】基于范围的for循环(C++11)

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

double prices[5] = {4.99,10.99,6.87,7.99,8.49};
for(double x : prices)
    cout << x << std::endl;

其中,x最初表示数组prices的第一个元素。显示第一个元素后,不断执行循环,而x依次表示数组的其他元素。因此,上述代码显示全部5个元素,每个元素占据一行。总之,该循环显示数组中的每个值。

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

for(double &x : prices)
   x = x * 0.80;

符号&表明x是一个引用变量,这个主体将在第8章讨论。

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

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

这种循环主要用于第16章讨论的各种模板容器类。

你可能感兴趣的:(c++,学习,开发语言,visualstudio,算法)