vector、deque、list、set、multiset、map、multimap各容器的迭代器各属于哪种迭代器?
时间: 2023-10-03 12:05:01 浏览: 140
vector的迭代器
在 C++ STL 中,容器的迭代器分为五类:
1. 输入迭代器 (Input Iterator):只能读取数据,不能修改数据。例如:istream_iterator。
2. 输出迭代器 (Output Iterator):只能修改数据,不能读取数据。例如:ostream_iterator。
3. 前向迭代器 (Forward Iterator):可以读取并修改数据,也可以向前移动迭代器。例如:list 的迭代器。
4. 双向迭代器 (Bidirectional Iterator):可以读取并修改数据,也可以向前或向后移动迭代器。例如:deque 和 set 的迭代器。
5. 随机访问迭代器 (Random Access Iterator):可以读取并修改数据,也可以在任意位置移动迭代器。例如:vector 和 map 的迭代器。
因此,各容器的迭代器类型如下:
- vector:随机访问迭代器
- deque:双向迭代器
- list:双向迭代器
- set:双向迭代器或更高级别的迭代器
- multiset:双向迭代器或更高级别的迭代器
- map:随机访问迭代器
- multimap:随机访问迭代器
阅读全文