C++学习笔记28:基于范围的 for 循环(C++11)

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

#include <iostream>
int main()
{
    using namespace std;
    double price[5] = { 4.99, 10.99, 6.87, 7.99, 8.49 };
    for ( double x : price )
        cout << x << endl;
    return 0;
}

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

        要修改数组的元素,需要使用不同的循环变量语法:
        for ( double &x : price )
                x = x * 0.80;

        符号&表明 x 是一个引用变量,这种声明让接下来的代码能够修改数组的内容。

        还可以结合使用基于范围的 for 循环和初始化列表:
        for ( int x : { 3, 5, 2, 8, 6 }
                cout << x << " ";
        cout << "\n";

上一篇:C++语言-02-函数


下一篇:leetcode 121. 买卖股票的最佳时机