c++ stl 标准库容器的选择原则(图)
来源:互联网 发布:如何修改手机的mac地址 编辑:程序博客网 时间:2024/04/27 23:31
1、缺省情况下使用vector,提供最简单的内部数据结构和随机访问能力,数据处理一般足够快了
2、如果在一个序列的两端经常增删元素,你应该使用deque,且如果你希望容器在元素删除后空间也减少,你也应该用deque,且相对于vector只使用一个内存block,deque使用了多块内存block,因此具有更强的存储扩展能力
3、如果你在一个容器中间增删改频繁,那就使用List,但是由于不提供随机访问,所以对访问元素的性能还是有影响
list修改后不会影响引用、指针、迭代器,而vector只要超过capacity就使得所有指针失效,vector在插入和删除的时候使得部分指针失效
4、如果你希望一个容器处理操作的时候要么成功,要么不操作(不抛出异常),则可以使用List或者关联容器。
5、如果你经常需要进行搜索(按照一定的规则),使用set/multiset,因为他们使用了二叉树,hashtable具有比二叉树更加高效的搜索机制,所以尽量使用hashtable,但是hashtable不能排序,所以在需要排序且高效搜索的场合还是用set,
6、处理key/value的时候使用map/multimap
7、如果需要字典,使用multimap
- c++ stl 标准库容器的选择原则(图)
- [C++]标准库容器
- 【STL】标准库容器概述
- VC STL标准库容器类
- 标准库容器的使用
- C++标准库容器
- C++标准库容器(vector)
- C++标准库容器 vector
- C++标准库容器总结
- 标准库容器 vector 和 迭代器 iterator 的简单介绍
- 标准库容器 vector中 string的字符处理。
- 标准库容器 vector 中string的字符 处理
- 对标准库容器的扩展:Variant/tuple
- STL 标准容器的选择
- STL库容器vector Constructors构造函数
- STL库容器 vector assign赋值函数
- STL库容器vector at函数
- STL库容器vector clear函数
- Set Tolerance Limits for Price Variance
- 我的程序人生
- ASP.NET 页面对象模型(page)
- HTML_ECLIPSE_ANT(http://www.yesky.com/310/1883310.shtml)
- vb创建数据表
- c++ stl 标准库容器的选择原则(图)
- 忙碌就要开始了
- 《News Weekly》:08年属于中国
- 静态链接、动态链接、COM、COM+ 的一些概念
- oracle 递归查询父子关系记录 (转)
- 疯狂购书,哈哈
- 网络传输技术
- 商业谈判在中国:西方人的见解
- 做人的“差距”