c++中vector容器自带的迭代器有哪些
时间: 2024-10-03 21:00:57 浏览: 36
在C++标准库的`std::vector`容器中,它提供了三种类型的迭代器:
1. **随机访问迭代器** (`iterator`): 这是最常见的迭代器类型,它支持所有基本算术运算,包括前向、后退、加法和减法,可以进行随机访问(索引操作)。你可以通过索引直接访问到容器内的元素,也可以用于进行插入、删除等操作。
2. **双向迭代器** (`bidirectional_iterator`): 类似于随机访问迭代器,但它还可以向前移动一步,但不能跨越容器的范围。这意味着你可以从头到尾,也可以从尾部向前,但不能直接跳过中间部分。
3. **前驱迭代器** (`const_iterator` 和 `reverse_iterator`): `const_iterator` 是常量版本的迭代器,只能读取容器内容而不能修改。`reverse_iterator` 可逆反向迭代,即它可以让你从后往前遍历,直到达到第一个元素。这是唯一允许反向移动的迭代器类型。
这些迭代器都是默认提供的,并且它们的生命周期与`vector`保持一致。当你创建`vector`实例时,你可以直接使用它们进行操作,例如:
```cpp
std::vector<int> vec;
// 使用随机访问迭代器
for (size_t i = 0; i < vec.size(); ++i) {
vec[i] = i;
}
// 或者使用迭代器进行操作
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
*it *= 2;
}
```
阅读全文