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;
}
相关推荐
wuxinyan1232 分钟前
Java面试题040:一文深入了解分布式锁
java·面试·分布式锁
弹简特2 分钟前
【JavaEE16-后端部分】SpringBoot日志的介绍
java·spring boot·后端
Chan163 分钟前
从生产到消费:Kafka 核心原理与实战指南
java·spring boot·分布式·spring·java-ee·kafka·消息队列
廋到被风吹走4 分钟前
持续学习方向:云原生深度(Kubernetes Operator、Service Mesh、Dapr)
java·开发语言·学习
HDXxiazai4 分钟前
idea JDK17 spring boot+nacos搭建 图文教程
java·spring boot·spring cloud·intellij-idea
程序喵大人5 分钟前
源码剖析:iostream 的缓冲区设计
开发语言·c++·iostream
liu****6 分钟前
4.哈希扩展
c++·算法·哈希算法·位图·bitset
urkay-7 分钟前
Android 当前Activity内显示的浮窗
android·java·iphone·androidx
70asunflower7 分钟前
CUDA基础知识巩固检验练习题【附有参考答案】(6)
c++·人工智能·cuda
仰泳的熊猫9 分钟前
题目1882:蓝桥杯2017年第八届真题-k倍区间
数据结构·c++·算法·蓝桥杯