C++(26): 标准库 <iterator>
目录
1. 核心概念
2. 基本语法
3. 特点
4. 特有成员函数与工具
5. 内存与性能
6. 示例代码
7. 成员函数与类型
8. 使用场景
9. 注意事项
1. 核心概念
迭代器(Iterator) 是 C++ 中用于访问和遍历容器元素的通用接口,类似于指针,但支持更丰富的操作。
-
抽象访问机制:通过迭代器,算法(如
sort
、find
)可以独立于具体容器(如vector
、list
)实现,遵循 STL 的设计理念。 -
迭代器类别:
-
输入迭代器(Input Iterator):只读,单向遍历(如
istream_iterator
)。 -
输出迭代器(Output Iterator):只写,单向遍历(如
ostream_iterator
)。 -
前向迭代器(Forward Iterator):可读写,单向遍历(如
forward_list
的迭代器)。 -
双向迭代器(Bidirectional Iterator):可双向移动(如
list
、set
的迭代器)。 -
随机访问迭代器(Random Access Iterator):支持跳跃访问(如
vector
、deque
的迭代器)。
-
2. 基本语法
#include <iterator>// 声明迭代器(以 vector 为例)
std::vector<int> vec = {1, 2, 3};
std::vector<int>::iterator it = vec.begin(); // 正向迭代器
std::vector<int>::reverse_iterator rit = vec.rbegin(); // 反向迭代器// 使用迭代器遍历
for (; it != vec.end(); ++it) {std::cout << *it << " "; // 输出: 1 2 3
}// 使用反向迭代器逆序遍历
for (; rit != vec.rend(); ++rit) {std::cout << *rit << " "; // 输出: 3 2 1
}// 使用迭代器遍历容器
for (ContainerType::iterator it = container.begin(); it != container.end(); ++it) {// 访问元素 *it
}