Effective STL 01 如何选择容器

15 篇文章 2 订阅

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

时间: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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值