Effective STL 01 如何选择容器

来源:互联网 发布:js history.back 1 编辑:程序博客网 时间:2024/05/17 23:52

************************************************

时间:2013年06月08日

作者:常保龙

地点:核所C105

************************************************

如何选择容器?

1、如果容器中的数据内存布局需要兼容C,只能使用vector

2、如果不希望容器底层使用引用计数,就不要使用string,因为string的实现是用引用计数的,可以考虑使用vector<char>

3、如果很在意查找速度的话,则首先选择散列容器,然后是排序的vector,最后是标准的关联容器

C++容器

标准STL序列容器:vector、list、deque、string

标准STL关联容器:set、multiset、map、multimap

非标准序列容器:slist(单向链表)、rope(重型字符串)

非标准关联容器:hash_set、hash_multiset、hash_map、hash_multimap;

vector<char>可以作为string的替代品

vector作为标准关联容器的替代品,有时vector可以再时间和空间上都表现得比标准关联容器好

集中标准非STL容器:数组、bitset、valarray、stack、queue、priority_queue

原创粉丝点击