31.3 操作概览
标准容器提供的操作和类型可以概括如下:
在这里箭头表示为一个容器提供了一组操作,不是继承的含义。问号(?)是一种简化表示:一些操作只为某些容器提供。特别是:
·multi*系列关联容器或集合不提供[]或at()。
·forward_list不提供insert()、erase()或emplace(),而是提供*_after系列操作。
·forward_list不提供back()、push_back()、pop_back()或emplace_back()。
·forward_list不提供reverse_iterator、const_reverse_iterator、rbegin()、rend()、crbegin()、crend()或size()。
·unordered_*系列关联容器不提供<、<=、>或>=。
在上图中[]和at()操作出现了多次,这只是为了减少箭头的数目。
桶接口将在31.4.3.2节中介绍。
如果有意义,访问操作都会提供两个版本:一个用于const对象,另一个用于非const对象。
标准库操作都有复杂性保证。
“头部”操作表示在第一个元素之前的插入和删除操作。类似地,“尾部”操作是在最后一个元素之后的插入和删除操作,“列表”操作是在任意位置的插入和删除操作。 ...
Get C++程序设计语言(第4部分:标准库)(原书第4版) now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.