引言:
在C++系列P15中,我们发现sort函数的迭代器参数出现了[RandomAccessIterator]这是什么呢?让我们继续来探讨吧~
一.查看STL使用文档时发现"迭代器分为许多种类"
如下文图所示:
二.容器与不同迭代器的关系
- 不难发现,其实迭代器分为许多种类,不同种类的迭代器由容器的底层结构决定,查阅资料后发现大概能分为以下三类:
迭代器种类 | 说明 |
单向(input) | forward_list/unordered_xxx |
双向(bidirectional) | list/map/set |
随机(random) | vector/string/deque |
- 下面是我们查阅文档所得的资料:
三.容器在使用含迭代器参数相关函数时的注意点
- 根据迭代器种类来说:单向是双向的一种特殊情况,双向是随机的一种特殊情况
- 所以总体迭代器兼容程度是【随机>双向>单向】