C++如何遍历数组vector

在C++中,vector是一个可变数组。那么怎么遍历它呢?我们以for循环为例(while循环,大家自己脑补)。

方法一:

基于范围的for循环,这是C++11新引入的。

cpp 复制代码
std::vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

for (const auto element : v) {
	std::cout << element << std::endl;
}

方法二:

使用迭代器。

cpp 复制代码
std::vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

for (auto element = v.begin(); element != v.end(); ++element) {
    std::cout << *element << std::endl;
}

v.begin()是第一个元素的指针,v.end()指向空(null)。++element是移动指针。

方法三:

这一种方式最传统,通过下标来遍历元素。

cpp 复制代码
std::vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

for (size_t i = 0; i < v.size(); ++i) {
	std::cout << v[i] << std::endl;
}

在此也给出C语言中遍历数组的方法:

c 复制代码
const int v[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
const int size = sizeof(v) / sizeof(v[0]);
for (int i = 0; i < size; i++) {
   printf("v[%d] = %d\n", i, v[i]);
}
相关推荐
郑州光合科技余经理2 分钟前
源码部署同城O2O系统:中台架构开发指南
java·开发语言·后端·架构·系统架构·uni-app·php
阿波罗尼亚2 分钟前
Java框架中的分层架构
java·开发语言·架构
踏歌~6 分钟前
终极指南:在 Windows 上配置 KDB+, JupyterQ 与 Python (embedPy)
开发语言·windows·python
sin_hielo7 分钟前
leetcode 3510
数据结构·算法·leetcode
Henry Zhu12312 分钟前
Qt Model/View架构详解(三):自定义模型
开发语言·qt
野生技术架构师14 分钟前
【面试题】为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)?
java·开发语言
Leo July14 分钟前
【Java】Java设计模式实战指南:从原理到框架应用
java·开发语言·设计模式
冬奇Lab14 分钟前
【Kotlin系列13】DSL设计:构建类型安全的领域语言
开发语言·安全·kotlin
Anastasiozzzz17 分钟前
力扣hot100 20.有效的括号 解析
java·算法·面试·力扣
CrazyClaz22 分钟前
负载均衡算法
算法·负载均衡