基于范围的for循环
📅 2026/7/2 2:17:03
👁️ 次浏览
在上面的语法格式中Type declaration表示遍历声明在遍历过程中当前被遍历导的元素会被存储到声明的变量declaration中。expression是要遍历的对象它可以是表达式、容器、数组、初始化列表等。如下代码#include iostream #include vector using namespace std; int main(void) { vectorint t{ 1,2,3,4,5,6 }; for (auto value : t){ //第一次遍历 cout value ; } cout endl; for(int value : t){ //第二次遍历 cout value ; } cout endl; for(auto value : t){ //第三次遍历 cout value ; } cout endl; for(auto value : t){ //第四次遍历 cout value ; } cout endl; for(const auto value : t){ //第五次遍历 cout value ; } return 0; }运行结果1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 2 3 4 5 6 7 2 3 4 5 6 7在上面的例子中第一次遍历是将容器中的元素拷贝到声明的遍历变量value中 因此无法对value的操作是不影响原数据的所以第二次遍历的结果不会有改变。第二次遍历中声明遍历变量用的int因为这里知道遍历的t容器中全是int类型auto推导出的就是int类型。第三次遍历时遍历变量value声明成引用类型不仅没有拷贝的过程使得效率更高而且对value的操作会直接作用到原数据上因此第四次遍历的结果会全部1。在第五次遍历时遍历变量声明称const autovalue被限制成只读权限如果对value进行操作会报错。使用注意1. 关系型容器在使用基于范围的for循环遍历map容器时#include iostream #include string #include map using namespace std; int main(void) { mapint, string m{ {1, lucy},{2, lily},{3, tom} }; // 基于范围的for循环方式 for (auto it : m) { cout id: it.first , name: it.second endl; } // 普通的for循环方式 for (auto it m.begin(); it ! m.end(); it) { cout id: it-first , name: it-second endl; } return 0; }上述代码使用了基于范围的for循环方式和普通的for循环方式两种方式对map进行遍历注意到使用普通for循环遍历关系型容器时auto自动推导出的是一个迭代器类型需要使用迭代器的类型方式取出元素中的键值对迭代器返回的是地址it-first;it-second;使用基于范围的for循环方式遍历关系型容器时auto自动推导出的类型是容器中的value_type,相当于一个std::pair对象提取键值对的方式it.first;it.second;2. 元素只读在对基于范围的for循环语法的介绍中可以得知在for循环内部声明一个变量的引用就可以修改遍历的表达式中的元素的值但是这并不是用于所有的情况对应set容器来说内部元素都是只读的这是由容器的特性决定的因此在for循环中auto会被是为const auto。#include iostream #include set using namespace std; int main(void) { setint st{ 1,2,3,4,5,6 }; for (auto item : st) { cout item endl; // error, 不能给常量赋值 } return 0; }除此之外在遍历关系型容器map时也会出现同样的问题基于范围的for循环中虽然可以得到一个std::pair引用但是我们是不能修改里面的first值的也就是key值。#include iostream #include string #include map using namespace std; int main(void) { mapint, string m{ {1, lucy},{2, lily},{3, tom} }; for (auto item : m) { // item.first 是一个常量 cout id: item.first , name: item.second endl; // error } return 0; }访问次数基于范围for循环遍历的对象可以是一个表达式或者容器/数组等。在我们对一个容器进行遍历过程中对这个容器的访问次数时一次还是多次呢#include iostream #include vector using namespace std; vectorint v{ 1,2,3,4,5,6 }; vectorint getRange() { cout get vector range... endl; return v; } int main(void) { for (auto val : getRange()) { cout val ; } cout endl; return 0; }
Content-Type Override 在云存储桶公有可读对象里的坑一、背景介绍很多上传点的防护都放在“上传那一刻”:限制后缀、检查文件头、控制大小、强制写入 Content-Type。这些检查当然有用,但它们只覆盖了前半段。真正容易漏掉的是后半段:文件已经…
📅 2026/7/2 2:17:03
亮数据官方号: 关注
新手用户注册就送25刀试用金: 点击体验
📅 2026/7/2 2:15:03
更多请点击:
https://intelliparadigm.com
第一章:VMware虚拟机IP固化失败率高达63.8%的真相揭示 在大规模企业虚拟化环境中,VMware虚拟机IP地址频繁漂移已成为运维团队的高频痛点。一项覆盖127家使用vSphere 6.7–8.0的企业调研显示&#x…
📅 2026/7/2 2:15:03
现在很多企业系统都在谈 AI 自动化,但如果底层组织、岗位、人员和规则没有建模清楚,AI 也只能在错误数据上做总结。考勤系统就是典型例子:员工调岗后仍按旧规则算考勤,新员工没有及时纳入规则,离职人员还在生成应打卡记…
📅 2026/7/2 3:39:13
# 手机电脑一键投屏电视:同Wi-Fi秒连大屏,无线无延迟无脑操作在家庭娱乐、商务演示、在线教育等场景中,将手机或电脑屏幕投射到电视上,已经成为刚需。然而,传统的投屏方式往往伴随着复杂的连接步骤、卡顿的画面、甚至需…
📅 2026/7/2 3:39:13
在消费电源、智能家居、工业辅助电源全面走向小型化、高效化、国产化替代的当下,800V 高压功率 MOSFET 作为 AC-DC 转换电路的核心开关器件,直接决定整机效率、散热表现与长期稳定性。杰盛微深耕沟槽功率半导体赛道多年,全新推出JSM2N80D N 沟…
📅 2026/7/2 3:39:13
2026年国家电能质量治理三年行动方案出台后,越来越多的企业开始关注一个实际问题:“我遇到的电能质量问题,该用什么设备解决?”电压暂降、谐波污染、无功不足、三相不平衡……这些问题的成因不同、对设备的影响不同,治…
📅 2026/7/2 3:39:13
不懂就问,2026年培训系统哪家靠谱?
据艾瑞咨询发布的《2026年中国企业数字化学习行业白皮书》最新数据显示,2025年中国企业数字化培训市场规模已突破1200亿元,同比增长18.7%,超78%的企业已将数字化培训纳入年度核心战略…
📅 2026/7/2 3:39:13
💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞Ὁ…
📅 2026/7/2 3:37:13
1. 项目概述:从“能用”到“精通”的必经之路如果你正在学习或从事网络安全测试,尤其是Web应用安全评估,那么BurpSuite的Intruder模块绝对是你绕不开的核心工具。而Intruder模块里,功能最强大、也最让人又爱又恨的,莫过…
📅 2026/7/2 0:00:33
1. 项目概述:从“找东西”到“精准操控” 做自动化测试,尤其是Web UI自动化,最核心也最让人头疼的一步是什么?不是写复杂的业务逻辑,也不是处理异步加载,而是最基础的—— 让程序找到页面上那个你想操作的…
📅 2026/7/2 0:00:33
1. 项目概述:为什么是Maestro? 如果你正在寻找一个能让你快速上手、告别繁琐配置、并且对移动端UI自动化测试真正友好的框架,那么Maestro很可能就是你一直在等的那个答案。我接触过Appium、Espresso、XCUITest,也折腾过各种基于图…
📅 2026/7/2 0:00:33
6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…
📅 2026/6/30 10:04:37
引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…
📅 2026/7/1 15:35:39
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/2 1:17:03
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/1 0:00:39
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/2 1:36:45