C++基于范围的for循环怎么使用
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了"C++基于范围的for循环怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++基于范围的for循环怎么使用"吧!1、概念/
千家信息网最后更新 2026年10月31日C++基于范围的for循环怎么使用
这篇文章主要讲解了"C++基于范围的for循环怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++基于范围的for循环怎么使用"吧!
1、概念
// 普通的for循环for(表达式 1; 表达式 2; 表达式 3){ // 循环体}// 基于范围的for循环for (declaration : expression){ // 循环体}1.1、普通的for循环
它的工作流程是:
1、执行表达式 1
2、如果表达式 2 为 true,则执行循环体,否则跳出循环
3、执行表达式3,会到第二步,重复执行。
这种方式需要给出容器的两端,即开头和结尾。
1.2、基于范围的for循环
它的工作流程:
1、将 expression 中的元素拷贝到 declaration
2、重复执行
这种方式不需要给出容器的两端,循环会自动以容器为范围展开,并且循环中也屏蔽掉了迭代器的遍历细节,直接抽取容器中的元素进行运算。
expression 可以是容器、数组、表达式、初始化列表等
1.3、两者的区别
例子:
vectorarr{ 1,2,3,4,5,6 };// 普通的 for 循环for (auto it = arr.begin(); it != arr.end(); ++it) cout << *it << endl;// 基于范围的 for 循环for (auto val : arr) cout << val << endl;
1、基于范围的 for 循环书写更为简单
2、上述例子中,基于范围的for循环的容器 arr 只访问了一次,即 : 后边的表达式只执行一次;而普通for循环每次都要比较迭代器是否到了容器的边界
2、基于范围的for循环使用
2.1、值拷贝
// 只是将容器中的元素拷贝到 val,修改val不会影响容器中的值for (auto val : arr) cout << val << endl;
2.2、引用
// 使用引用,修改val会影响容器中的值,即可以直接修改容器的值,且避免了拷贝的开销for (auto& val : arr) cout << val << endl;
2.3、只读引用
// 使用const 修饰引用,使得只能只读,不能修改容器的数据for (const auto& val : arr) cout << val << endl;
2.4、关联容器
遍历关联容器(set、map、multiset、multimap)时,即使使用引用,也不能修改容器中的值。对于关联容器来说,内部元素都是只读的,这是由容器的特性决定的,因此在 for 循环中 auto & 会被视为 const auto &
// 使用const 修饰引用,使得只能只读,不能修改容器的数据setst{ 1,2,3,4,5,6 };for (auto &val : st) cout << val ++ << endl; // 不能修改常量
感谢各位的阅读,以上就是"C++基于范围的for循环怎么使用"的内容了,经过本文的学习后,相信大家对C++基于范围的for循环怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
循环
容器
范围
表达式
C++
普通
元素
拷贝
循环体
关联
学习
两端
例子
内容
工作流程
数据
方式
流程
工作
影响
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天津市摩尔互联网科技
互联网科技公司经营范围
互联网科技公司华为
鸠鸠互联网科技
猪兼强互联网科技
新浪科技互联网
互联网公司会议桌创意科技软装饰
剑昆互联网络科技有限公司临桂
互联网公司科技股
重庆互联网医院沙龙医盟信息科技
江阴互联网智能科技产品进口
内蒙古九一互联网科技
互联网公司黑科技创始人
南博望互联网科技有限公司
上海京穆互联网科技有限公司
互联网科技资金流入
上海创道互联网络科技有限公司
宇信科技在杭州互联网排第几
互联网科技的前景
长沙易易互联网科技有限公司
互联网科技股
互联网科技名片
互联网是第几次科技革命的成果
广州紫鲸互联网科技有限公司
深圳科技互联网
科技服务与互联网
互联网科技公司发展
天速互联网络科技有限公司
广西科技产业互联网是什么
科技互联网企业在行动