c++迭代器
时间: 2023-06-29 20:03:33 浏览: 118
C++ 中的迭代器(Iterator)是一种泛型指针,它允许对容器中的元素进行遍历。迭代器提供了一种统一的方法来访问容器中的元素,而不必考虑容器的实现细节。迭代器可以用于任何标准 C++ 容器,如数组、向量、链表、集合、映射等。
迭代器分为五种类型,分别是:
1. 输入迭代器(Input Iterator):只读,只能单向移动,可以比较判等和自增。
2. 输出迭代器(Output Iterator):只写,只能单向移动,可以比较判等和自增。
3. 前向迭代器(Forward Iterator):可读写,只能单向移动,可以比较判等和自增。
4. 双向迭代器(Bidirectional Iterator):可读写,可双向移动,可以比较判等和自增、自减。
5. 随机访问迭代器(Random Access Iterator):可读写,可随机访问,可以比较大小、判等和自增、自减、加减整数。
以下是一个使用迭代器遍历 vector 容器的示例代码:
```c++
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v = {1, 2, 3, 4, 5};
for (auto it = v.begin(); it != v.end(); ++it)
{
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
```
在上述代码中,使用 `v.begin()` 获取 vector 容器的起始迭代器,使用 `v.end()` 获取 vector 容器的结束迭代器,然后使用 for 循环遍历容器中的每个元素。使用 `*it` 获取当前迭代器指向的元素的值,即可输出容器中的元素。
阅读全文