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循环的主要内容,如果未能解决你的问题,请参考以下文章