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;
}
相关推荐
Xingxing?!1 分钟前
Java 后端分层架构详解
java·架构·状态模式
雾岛听蓝6 分钟前
Qt操作指南:状态栏、浮动窗口与对话框使用
开发语言·经验分享·笔记·qt
兩尛7 分钟前
c++面试常问1
jvm·c++·面试
APIshop11 分钟前
小红书笔记视频详情接口深度解析:smallredbook.item_get_video_pro
数据库·笔记·音视频
_Evan_Yao12 分钟前
对话的边界:HTTP 的克制,SSE 的流淌,WebSocket 的自由
java·后端·websocket·网络协议·http
y = xⁿ15 分钟前
MySQL学习笔记:乐观锁VS悲观锁/八股总结
笔记·学习·mysql
点云侠18 分钟前
隧道中线提取的优化方法
c++·算法·最小二乘法
危桥带雨26 分钟前
FLASH代码部分
java·后端·spring
d111111111d30 分钟前
STM32-UART抽象层封装
笔记·stm32·单片机·嵌入式硬件·学习
汉克老师31 分钟前
GESP2023年6月认证C++三级( 第二部分判断题(1-10))
c++·数组·位运算·进制·gesp三级·gesp3级