条款1:仔细选择你的容器
2015-10-22 19:10
288 查看
C++中所有的容器:
● 标准STL序列容器:vector、string、deque和list。
● 标准STL关联容器:set、multiset、map和multimap。
● 非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一个重型字符串。(“绳子
(rope)”是重型的“线(string)”。明白了吗?)你可以找到一个关于这些非标准(但常见的)容
器的概览在条款50。
● 非标准关联容器hash_set、hash_multiset、hash_map和hash_multimap。我在条款25检验了这些可以广泛
获得的基于散列表的容器和标准关联容器的不同点。
● vector<char>可以作为string的替代品。条款13描述了这个替代品可能会有意义的情况。
● vector作为标准关联容器的替代品。就像条款23所说的,有时候vector可以在时间和空间上都表现得比
标准关联容器好。
● 几种标准非STL容器,包括数组、bitset、valarray、stack、queue和priority_queue。因为它们是非STL容
器,所以在本书中关于它们我说得很少,虽然条款16提到了数组比STL容器更有优势的一种情况,而
条款18揭示了为什么bitset可能比vector<bool>要好。值得注意的是,数组可以和STL算法配合,因为指
针可以当作数组的迭代器使用。
● 标准STL序列容器:vector、string、deque和list。
● 标准STL关联容器:set、multiset、map和multimap。
● 非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一个重型字符串。(“绳子
(rope)”是重型的“线(string)”。明白了吗?)你可以找到一个关于这些非标准(但常见的)容
器的概览在条款50。
● 非标准关联容器hash_set、hash_multiset、hash_map和hash_multimap。我在条款25检验了这些可以广泛
获得的基于散列表的容器和标准关联容器的不同点。
● vector<char>可以作为string的替代品。条款13描述了这个替代品可能会有意义的情况。
● vector作为标准关联容器的替代品。就像条款23所说的,有时候vector可以在时间和空间上都表现得比
标准关联容器好。
● 几种标准非STL容器,包括数组、bitset、valarray、stack、queue和priority_queue。因为它们是非STL容
器,所以在本书中关于它们我说得很少,虽然条款16提到了数组比STL容器更有优势的一种情况,而
条款18揭示了为什么bitset可能比vector<bool>要好。值得注意的是,数组可以和STL算法配合,因为指
针可以当作数组的迭代器使用。
相关文章推荐
- Javascript的websocket的使用方法
- 如何使用CC2540 USB-Dongle进行抓取蓝牙通讯数据包
- zoj 3913 Bob wants to pour water(二分)
- mac nodejs安装配置
- YARN内存使用优化配置
- Android的handler详解
- Python prettytable的使用方法
- Linux file 命令 【转载】
- VS2015 property manager
- leetcode Combinations
- 大道至简第四章读后感
- ANDROID仿淘宝商品浏览滑(拖)动查看详情界面
- 小小君的C语言第十课
- duilib 自定义控件TeamList 继承与CListUI
- URAL 1519 Formula 1
- usaco Computational Geometry 计算几何
- 动态加载js
- 换啤酒问题
- Codevs P3372 选学霸
- c# 把网络文件下载到本地