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 分钟前
算法—哈希表
开发语言·c++·经验分享·笔记·算法
cici158742 分钟前
基于MATLAB的非正交多址(NOMA)系统协同中继技术提升小区边缘用户性能实现
java·服务器·matlab
bigdata-rookie4 分钟前
Starrocks 数据模型
java·前端·javascript
Jack___Xue12 分钟前
LangGraph学习笔记(四)---LangGraph检查点和Send机制
jvm·笔记·学习
爱敲代码的憨仔13 分钟前
Spring-AOP
java·后端·spring
今儿敲了吗14 分钟前
计算机网络第四章笔记(六)
笔记·计算机网络
风景的人生15 分钟前
request请求的@RequestParm标注的参数也需要放在请求路径后
java
短剑重铸之日16 分钟前
《设计模式》第四篇:观察者模式
java·后端·观察者模式·设计模式
wypywyp17 分钟前
7.stm32 江协科技笔记2
笔记·科技·stm32
近津薪荼17 分钟前
递归专题(2)——合并链表
c++·学习·算法·链表