C++笔记之遍历vector的所有方式

C++笔记之遍历vector的所有方式

------ 2023年4月15日 上海

code review

文章目录

注意:不使用引用或指针来遍历的遍历方式都是只读操作,无法修改元素的值

1.普通for循环

2.迭代器版

3.const迭代器

4.C++11引入的范围for循环

5.使用auto关键字和迭代器

6.使用std::for_each算法

7.使用std::for_each和lambda表达式

8.普通版+vector::at()版

9.指针版

10.使用while循环

注意:使用while循环遍历时需要注意循环条件,遍历完成后一定要确保循环变量或迭代器指向std::vector的end()位置,否则可能会出现未定义的行为。

10.1.使用普通while循环和下标

10.2.使用普通while循环和迭代器

11.迭代器的声明通常使用auto it = v.begin();来替代std::vector::iterator it = v.begin();

代码

cpp 复制代码
#include <iostream>
#include <vector>

int main() {
    std::vector<int> v = {1, 2, 3, 4, 5};
    std::vector<int>::iterator it1 = v.begin();
    auto it2 = v.begin();

    std::cout << "*it1= " << *it1 << std::endl;
    std::cout << "*it2= " << *it2 << std::endl;
    return 0;
}
相关推荐
蜘蛛侠..7 分钟前
什么是 Plan-and-Execute 模式?与ReAct模式区别?
java·ai·大模型·llm·agent·react·plan模式
星辰徐哥10 分钟前
C++网络编程:TCP服务器与客户端的实现
网络·c++·tcp/ip
untE EADO28 分钟前
SpringBoot:几种常用的接口日期格式化方法
java·spring boot·后端
·心猿意码·29 分钟前
C++ volatile 与 std::atomic 底层语义剖析
c++
一个人说晚安30 分钟前
Docker 部署 OpenClaw 并接入第三方大模型 (MiniMax) 完整排坑指南
java·开发语言·dubbo
Tanecious.34 分钟前
蓝桥杯备赛:Day1-奖学金
c语言·c++·蓝桥杯
汉克老师36 分钟前
GESP2025年6月认证C++三级( 第三部分编程题(1、奇偶校验)
c++·算法·gesp三级·gesp3级·按位操作
CoderCodingNo36 分钟前
【GESP】C++八级考试大纲知识点梳理 (8) 算法优化技巧
开发语言·c++
深蓝海拓1 小时前
基于QtPy (PySide6) 的PLC-HMI工程项目(二)系统规划
笔记·python·qt·学习·plc
十年编程老舅1 小时前
窥探内核心脏:深入解析 proc 虚拟文件系统
linux·服务器·数据库·c++·linux内核·文件系统·读写锁