vectorC++迭代器
时间: 2024-11-06 09:10:06 浏览: 23
在C++中,`vector`是一种动态数组容器,它允许你在运行时添加或删除元素。而迭代器(Iterator)则是访问容器内部元素的一种工具,它是容器提供的一种指向容器内元素的指针,无论是`vector`还是其他容器如`list`, `set`等,它们都支持迭代器。
C++标准库中的`vector`有一个内置的迭代器,包括:
1. **前向迭代器(Forward Iterator)**: 这是最基础的迭代器类型,只能单向移动(向前),并且可以用于读取元素。例如,`std::vector<int>::iterator`就是前向迭代器。
2. **双向迭代器(Bidirectional Iterator)**: 可以向前或向后移动,除了读取元素外,还可以修改元素。`std::vector<int>::iterator`向下兼容双向迭代器。
3. **随机访问迭代器(Random Access Iterator)**: 具有双向迭代器的所有特性,此外还支持随机访问索引,可以直接通过下标获取或设置元素。`std::vector<int>::const_iterator`是常量版本,仅能读取元素。
你可以使用迭代器遍历整个`vector`,创建循环,或者直接操作容器内的元素。以下是基本的使用示例:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
```
阅读全文