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;
}
相关推荐
喵手2 分钟前
玩转Java网络编程:基于Socket的服务器和客户端开发!
java·服务器·网络
再见晴天*_*1 小时前
SpringBoot 中单独一个类中运行main方法报错:找不到或无法加载主类
java·开发语言·intellij idea
Hello_Embed3 小时前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件
咸甜适中3 小时前
rust语言 (1.88) 学习笔记:客户端和服务器端同在一个项目中
笔记·学习·rust
Grassto3 小时前
RAG 从入门到放弃?丐版 demo 实战笔记(go+python)
笔记
Magnetic_h4 小时前
【iOS】设计模式复习
笔记·学习·ios·设计模式·objective-c·cocoa
hdsoft_huge4 小时前
Java & Spring Boot常见异常全解析:原因、危害、处理与防范
java·开发语言·spring boot
风中的微尘4 小时前
39.网络流入门
开发语言·网络·c++·算法
雨白5 小时前
Java 多线程指南:从基础用法到线程安全
android·java
Hungry_Shark5 小时前
IDEA版本控制管理之使用Gitee
java·gitee·intellij-idea