范围for循环

Posted 阿鑫来了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了范围for循环相关的知识,希望对你有一定的参考价值。

//普通for循环
void test(){
    int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i){
        cout << arr[i] << "  ";
    }
    cout << endl;
}

 

//范围for(更安全,不会越界)     当前的数据 : 循环的范围 
void test1(){
    int arr1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    for (int e : arr1){
        cout << e << " ";
    }
    cout << endl;
}

 

//可修改的范围for,使用引用,不使用引用无法修改
void test2(){
    int arr2[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    for (int& e : arr2){
        cout << e << " ";
        e = 10;    //全修改为10
    }
    cout << endl;
}

 

推荐使用

//既保证数据不会被修改,效率又高
void test3(){
    int arr3[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    for (const auto& e : arr3){
        cout << e << " ";
    }
    cout << endl;
}

 

以上是关于范围for循环的主要内容,如果未能解决你的问题,请参考以下文章

基于范围的 for 循环与常规迭代器 for 循环

如何在Django视图中使用for循环返回每次迭代[关闭]

我如何在 for 循环外使用 for 循环范围变量形式?

如何使用引导程序和 for 循环在 django 中创建电影片段?

for循环结构

Visual Studio 中基于 For 循环的 C++17 广义范围