C++ vector遍历
时间: 2025-01-04 12:35:49 浏览: 5
### 遍历C++中的`std::vector`
在C++中,有多种方法可以用来遍历`std::vector`容器。以下是几种常见的方式:
#### 使用索引访问
通过下标操作符`[]`来逐个访问向量中的元素是一个直观的方法。
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3};
for (size_t i = 0; i < vec.size(); ++i) {
std::cout << "Element at index " << i << ": " << vec[i] << '\n';
}
}
```
这种方法简单明了,但对于大型数据集可能不是最高效的选项[^1]。
#### 利用迭代器
更推荐的做法是利用STL提供的迭代器机制来进行循环处理。这不仅限于`for`语句,也可以配合范围基`for`循环一起工作。
```cpp
// 迭代器方式一:传统for循环搭配begin/end函数
for (auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << ' ';
}
// 方式二:基于范围的for循环(C++11及以上版本)
for (const auto& elem : vec) {
std::cout << elem << ' ';
}
```
上述两种迭代器方案都提供了更好的性能表现以及更加安全的操作模式,特别是在面对复杂的数据结构时。
#### 应用算法库
除了手动编写循环外,还可以借助标准模板库(STL)内的各种通用算法简化代码逻辑。比如使用`std::for_each()`:
```cpp
#include<algorithm>
void print(int n){
cout<<n<<" ";
}
std::for_each(vec.begin(), vec.end(), print);
```
此段程序会依次调用指定的动作对象(`print`)作用到每一个元素上,从而实现遍历效果。
阅读全文