c++vector迭代器遍历
时间: 2025-01-31 13:03:07 浏览: 47
### C++ Vector 迭代器遍历示例
#### 正向迭代器遍历
为了使用正向迭代器遍历 `vector`,可以通过调用容器的成员函数 `begin()` 和 `end()` 来获得相应的迭代器对象。下面展示了一个简单的例子来说明这一过程[^3]:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec = {10, 20, 30, 40, 50};
// 使用显式迭代器遍历
for (auto it = vec.begin(); it != vec.end(); ++it) {
cout << *it << " ";
}
return 0;
}
```
这段代码会依次打印出 `vector` 中存储的所有整数值。
#### 反向迭代器遍历
对于需要按照相反顺序处理数据的情况,则应采用反向迭代器来进行遍历。这可通过调用 `rbegin()` 和 `rend()` 方法实现,如下所示[^1]:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v = {1, 2, 3, 4, 5};
vector<int>::reverse_iterator it;
for (it = v.rbegin(); it != v.rend(); ++it) {
cout << *it << " ";
}
return 0;
}
```
此程序将按逆序输出给定 `vector` 的各个元素。
#### 增强型for循环(范围for)
除了传统的基于迭代器的方式外,在现代C++标准下还可以利用增强型for循环简化语法结构,从而更加直观地完成相同功能的操作:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec = {10, 20, 30, 40, 50};
// 范围for语句
for (const auto& elem : vec) {
cout << elem << " ";
}
return 0;
}
```
这种方法不仅简洁明了而且易于理解维护。
阅读全文
相关推荐


















