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;
}
相关推荐
奔跑吧邓邓子1 分钟前
【C++实战(78)】解锁C++ 大数据处理:从并行到分布式实战
c++·分布式·实战·并发·大数据处理
DASXSDW5 分钟前
NET性能优化-使用RecyclableBuffer取代RecyclableMemoryStream
java·算法·性能优化
浔川python社6 分钟前
《C++ 实际应用系列》第二部分:内存管理与性能优化实战
c++
kfepiza11 分钟前
CAS (Compare and Swap) 笔记251007
java·算法
kfepiza14 分钟前
Java的`volatile`关键字 笔记251007
java
风雨同舟的代码笔记14 分钟前
JDK1.8 String类源码学习
java
苹果醋320 分钟前
数据结构其一 线性表
java·运维·spring boot·mysql·nginx
liulilittle22 分钟前
OPENPPP2 静态隧道链路迁移平滑(UDP/IP)
开发语言·网络·c++·网络协议·tcp/ip·udp·通信
华仔啊23 分钟前
前后端防重复提交的 6 种落地实现:从按钮禁用到 AOP 全自动防护
java·后端
lllsure41 分钟前
Java Stream API
java·开发语言