C++标准库
文章平均质量分 79
QuitePig
这个作者很懒,什么都没留下…
展开
-
list容器
序列化容器使用之list描述list 模板类属于容器,允许快速在任意位置插入/删除,时间复杂度为O(1),插入/删除一个元素时候只需分配/释放一个节点即可,因此list 模板类在内存空间运用算绝对算得上“精打细算”;list 容器不提供随机访问的功能。通常实现list 都需要设计一个’list node’,也就是说list 实现和list node 本身是独立,以下li原创 2013-03-13 16:03:50 · 886 阅读 · 0 评论 -
vector
vector 的操作方式以及内部数据的内存布局与数组非常相似,因此在应用中经常使用vector 替代数组使用,而二者最大的区别在于vector 可以灵活的进行内存空间配置,而数组则是静态的,一旦数组定义以后则数据内存布局就确定了,不能修改;若需要改变数组大小则只能重新定义新的数组,再把原数组中数据拷贝到新数组(若数组为动态分配的,则须释放原数组使用内存)。vector 模板类是转载 2013-03-13 16:04:41 · 932 阅读 · 0 评论 -
30分钟理解STL
要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort()。STL另一个重要特性是它不是面向对象的。为了具有足够通用性,STL主要依赖于模板而不是封装,继承和虚函数(多态性)——OOP的三个要素。你在STL中找不到任何明显的类继承关系。这好像是一种倒退,但这正好是使得STL的组件具有广泛通用性的底层特征。另外,由于STL是基于模板,原创 2012-10-02 19:12:40 · 1195 阅读 · 0 评论 -
map
描述基于键值用于存储/获取pair 的关联式容器,pair 包括两部分数据,key 必须唯一,底层使用RB-Tree 作为基础数据,因此数据在内部会基于键值进行自动排序,元素的值可以直接修改,与key 不关联,而key 不可修改必须使用新重新插入并删除原来的。1. 关联式容器,大小可变,支持高效的基于key 的元素获取;2. 可以反转,其迭代器为双向的;3. 自排序;原创 2013-03-13 16:05:40 · 936 阅读 · 0 评论