4/26打卡,范围for循环

Posted wlxdaydayup

tags:

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

范围for循环的语法形式为for (declaration : range),其中declaration是一个声明语句,用于定义一个变量,range是一个表达式,表示要遍历的范围。

在每次循环迭代中,范围for循环会从range中取出一个元素,并用它来初始化declaration中定义的变量。然后执行循环体中的语句。当range中的所有元素都被遍历完后,循环就结束了。

范围for循环可以用来遍历任何支持迭代器的容器,比如vector、list、set、map等。它也可以用来遍历数组。下面是一些使用范围for循环的例子:

#include <iostream>
#include <vector>
using namespace std;

int main() 
    // 遍历vector
    vector<int> v = 1, 2, 3, 4, 5;
    for (int x : v) 
        cout << x << \' \';
    
    cout << endl;

    // 遍历数组
    int a[] = 1, 2, 3, 4, 5;
    for (int x : a) 
        cout << x << \' \';
    
    cout << endl;

    // 遍历字符串
    string s = "hello";
    for (char c : s) 
        cout << c << \' \';
    
    cout << endl;

    return 0;

 

范围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;
}

 

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

打卡 c语言趣味编程 求勾股数

C++基于范围的for循环详解

c语言里,for循环不像Java有让我知道循环控制的范围,语言怎么判断循环控制的范围呀?

范围for循环

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

hw3打卡