当前位置: 首页 > news >正文

c++ 基于范围的for循环

传统写法 for (表达式 1; 表达式 2; 表达式 3)

#include <iostream>
#include <vector>
using namespace std;int main()
{vector<int> t{ 1,2,3,4,5,6 };for (auto it = t.begin(); it != t.end(); ++it){cout << *it << " ";}cout << endl;return 0;
}

新特性 for (declaration : expression)

#include <iostream>
#include <vector>
using namespace std;int main(void)
{vector<int> t{ 1,2,3,4,5,6 };for (auto value : t){cout << value << " ";}cout << endl;return 0;
}

加引用&可以修改容器内容

#include <iostream>
#include <vector>
using namespace std;int main(void)
{vector<int> t{ 1,2,3,4,5,6 };for (auto& value : t){value++;}cout << endl << "遍历修改之后的容器: ";for (auto value : t){cout << value << " ";}cout << endl;return 0;
}
// 输出
// 遍历修改之后的容器: 2 3 4 5 6 7

for (const auto& value : t)。对容器的遍历过程中,如果只是读数据,不允许修改元素的值,可以使用 const 定义保存元素数据的变量,在定义的时候建议使用 const auto &,这样相对于 const auto 效率要更高一些。

相关文章:

  • keepalived+lvs
  • uniapp+vue3+uview来开发我们的项目
  • mysql常用方法
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】金融风控分析案例-10.3 风险指标可视化监控
  • Stapi知识框架
  • 在服务器排查java某个线程导致CPU飙高教程
  • 软件I2C
  • MCP-RAG 服务器:完整设置和使用指南
  • 图片的require问题
  • 前端工程化:从 Webpack 到 Vite
  • React+Webpack 脚手架、前端组件库搭建
  • 华为鸿蒙电脑能否作为开发机?开发非鸿蒙应用?
  • 力扣第156场双周赛
  • Angular | 利用 `ChangeDetectorRef` 解决 Angular 动态显示输入框的聚焦问题
  • linux入门学习(介绍、常用命令、vim、shell)
  • Leetcode 3543. Maximum Weighted K-Edge Path
  • linux系统如何将采集的串口数据存储到txt
  • aardio - 虚表 —— CheckBox列使用方法
  • 【HBase整合Hive】HBase-1.4.8整合Hive-2.3.3过程
  • 重构门店网络:从“打补丁“到“造地基“的跨越
  • 美政府以拨款为要挟胁迫各州服从移民政策,20个州联合起诉
  • 俄官员说将适时宣布与乌克兰谈判代表
  • 广东省中医院脾胃病科大科主任张北平病逝,年仅52岁
  • 乌方:泽连斯基只接受与普京会谈,拒见其他俄代表
  • 习近平出席中国-拉美和加勒比国家共同体论坛第四届部长级会议开幕式
  • 迪奥部分客户数据遭泄露,公司称正持续展开调查