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]);
}
相关推荐
熊猫_豆豆12 分钟前
YOLOP车道检测
人工智能·python·算法
杜子不疼.16 分钟前
PyPTO:面向NPU的高效并行张量编程范式
开发语言
lly20240616 分钟前
C# 结构体(Struct)
开发语言
艾莉丝努力练剑26 分钟前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
YMWM_27 分钟前
python3继承使用
开发语言·python
Once_day42 分钟前
C++之《程序员自我修养》读书总结(1)
c语言·开发语言·c++·程序员自我修养
Trouvaille ~1 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
偷吃的耗子1 小时前
【CNN算法理解】:CNN平移不变性详解:数学原理与实例
人工智能·算法·cnn
喜欢喝果茶.1 小时前
QOverload<参数列表>::of(&函数名)信号槽
开发语言·qt