前言:
关于迭代器, 总共有五种:
- 输入迭代器(input iterators)
- 前向迭代器(Forward Iterator)
- 双向迭代器(bidirectional Iterators)
- 随机存取迭代器(Random access iterators)
- 输出迭代器(output iterators)
All random-access iterators are also valid bidirectional iterators.
几种迭代器的关系如下:
1.随机存取迭代器(Random access iterators)
通过这个迭代器, 我们可以随机的存取容器中的元素。 所以, 如果我将迭代器加5, 那么我们的迭代器就向前移动5个元素(如下)等等。支持++ 、–、+ n 及-n
如:向量(vector),string, 双向队列(deque), 数组(array)等容器类
2.双向迭代器(bidirectional Iterators)
使用这个迭代器, 我们可以对该迭代器自增(++, 对应向后移动一个元素), 自减(- -, 对应迭代器向前移动一个元素 ), 但是不能加上一个数(例如5)或者减去一个数(例如4等)
如: list, set/multiset, map/multimap
3.前向迭代器(Forward Iterator)
前向迭代器只能自增(++)运算, 从而向前移动。
如:forward_list 只提供forward Iterator。
4.输入迭代器(input iterators)
输入迭代器是用于当在向前运动迭代器的时候, 读取和处理容器中的数据的(解参考), 但是不能写。
5.输出迭代器(output iterators)
这种迭代器是用于在向前迭代过程中, 输出数据到迭代器中.
尾声
看到这里,相信大家对这个C++有了解了。
如果你感觉这篇博客对你有帮助,不要忘了一键三连哦