C++基于范围的for循环怎么使用
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了"C++基于范围的for循环怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++基于范围的for循环怎么使用"吧!1、概念/
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
网络安全软件后门
联合国商贸数据库查不到数据
摄像头网络安全检查
精算数据库在哪
魔兽怀旧服服务器怎么升级
倩女ol有外国服务器吗
gdc服务器播放列表模板
网络安全警告清单
计算机网络技术读了五年后如何
服装文献数据库
浏览器代理服务器有什么好处
建立cad数据库
广州市唐软软件开发
丰镇软件开发项目管理
及时受理并处理网络安全的投诉
维护网络安全 首先要知道
苹果下载摩尔庄园是什么服务器
浙江台州五金模具erp软件开发
服务器硬件维修方案
软件开发程序怎么写
哪些软件开发程序值得学习
互联网科技体育
国内网络安全性
倩女ol有外国服务器吗
高性能人工智能服务器
图说普法网络安全
网络安全宣传周图片作品简介
廊坊三剑客网络技术有限公司
我的世界服务器宣传过百亿
如何查找和平精英的服务器