【C++】STL容器——探究不同 [ 迭代器 ] 种类&在STL中的使用方式(15)
前言
大家好吖,欢迎来到 YY 滴C++系列 ,热烈欢迎! 本章主要内容面向接触过C++的老铁
主要内容含:
欢迎订阅 YY滴C++专栏!更多干货持续更新!以下是传送门!
目录
- 引言:
- 一.查看STL使用文档时发现"迭代器分为许多种类"
- 二.容器与不同迭代器的关系
- 三.容器在使用含迭代器参数相关函数时的注意点
引言:
在C++系列P15中,我们发现sort函数的迭代器参数出现了[RandomAccessIterator]这是什么呢?让我们继续来探讨吧~
一.查看STL使用文档时发现"迭代器分为许多种类"
如下文图所示:
二.容器与不同迭代器的关系
- 不难发现,其实迭代器分为许多种类,不同种类的迭代器由容器的底层结构决定,查阅资料后发现大概能分为以下三类:
迭代器种类 | 说明 |
---|---|
单向(input) | forward_list/unordered_xxx |
双向(bidirectional) | list/map/set |
随机(random) | vector/string/deque |
- 下面是我们查阅文档所得的资料:
三.容器在使用含迭代器参数相关函数时的注意点
- 根据迭代器种类来说:单向是双向的一种特殊情况,双向是随机的一种特殊情况
- 所以总体迭代器兼容程度是【随机>双向>单向】