码迷,mamicode.com
首页 >  
搜索关键字:stl容器    ( 348个结果
Effective C++ —— 改善程序与设计的55个具体做法(三)
条款01 : 视C++为一个语言联邦 C++ == C(C基本语法) + Object-Oriented C++(类,封装,继承,多态……) + Template C++(泛型编程) + STL(容器,迭代器,算法,函数对象) .条款02 : 尽量以const,enum,inline 替换#def....
分类:编程语言   时间:2015-09-11 09:10:32    阅读次数:174
stl 容器
10.1.2.2容器的分类序列式容器(Sequence containers)每个元素都有固定位置--取决于插入时机和地点,和元素值无关。vector、deque、list 关联式容器(Associated containers)元素位置取决于特定的排序准则,和插入顺序无关set、multiset、...
分类:其他好文   时间:2015-09-04 09:51:36    阅读次数:201
C++手稿:STL入门
STL (Standard Template Library) 提供了一些常用的数据结构和算法的模板,1998年加入C++标准。 STL中有三个基本概念: 容器:容纳各种数据类型的数据结构,是一系列的类模板。迭代器:迭代器用来迭代地访问容器中的元素。算法:用来操作容器中的元素,是一系列的函数模板。 STL 容器 STL中的容器定义在std命名空间下,需要引入头文件 , , , ,...
分类:编程语言   时间:2015-08-19 13:35:09    阅读次数:204
【STL容器学习笔记】-顺序容器
STL提供了三个顺序容器:vector、list和deque。Vector和deque都是用数组来实现的,list是用链表来实现的。关于三者的实现原理和各自应用的场景我们做一下分析。 1.vector就是动态数组,它是在堆中分配内存,如果vector中元素个数大于当前大小时,就会再分配内存。它拥有一段连续的内存空间,并且起始地址不变,因此它能很好地支持随机访问元素,即[ ]操作符。vector对...
分类:其他好文   时间:2015-08-18 10:21:15    阅读次数:164
智能指针(二):shared_ptr实现原理
前面讲到auto_ptr有个很大的缺陷就是所有权的转移,就是一个对象的内存块只能被一个智能指针对象所拥有.但我们有些时候希望共用那个内存块.于是C++ 11标准中有了shared_ptr这样的智能指针,顾名思义,有个shared表明共享嘛.所以shared_ptr类型的智能指针可以做为STL容器的元...
分类:其他好文   时间:2015-08-17 15:20:34    阅读次数:114
STL容器迭代器失效分析
连续内存序列容器(vector, string, deque) 对于连续内存序列STL容器,例如vector,string,deque,删除当前iterator会使得后面所有的iterator都失效,因为它们使用了连续分配的内存,删除一个元素导致后面所有的元素会向前移动一个位置,保证元素的连续性。当...
分类:其他好文   时间:2015-08-17 08:40:49    阅读次数:135
使用reserve要再次避免不必要的分配
?? 关于STL容器,最了不起的一点是,它们会自己主动增长以便容纳下你放入当中的数据,仅仅要没有超出它们的最大限制就能够。对于vector和string,增长过程是这样来实现的:每当须要很多其它空间时,就调用与realloc类似的操作。这一类似于realloc的操作分为4部分:分配一块大小为当前容量...
分类:其他好文   时间:2015-08-14 20:55:32    阅读次数:142
set集合容器
set集合容器是使用红黑树[一种二叉检索树的数据结构]来组织泛化的元素数据。元素数据的检索使用的是二叉检索树的中序遍历算法,检索的效率高于vector、deque、和list等容器,由于采用中序遍历算法可以将二叉检索树中的键值由小到大遍历出来,所以set集合容器蕴含了元素间的有序性。红黑树的每个节点包含一个取值为红色或者黑色的颜色域,节点键值的插入必须确保树根节点的键值大于左子树所有节点的键值,而小...
分类:其他好文   时间:2015-08-14 13:43:47    阅读次数:274
list双向链表容器
ist是双向链表的泛化容器,提供了splice和merge归并函数,sort函数利用list的数据结构特点对元素进行了归并排序。创建list对象创建list对象的方式主要有以下几种。 (1) list()list l;(2) list(size_type n)list l(10);(3) list(size_type n,const T&value)list l(10...
分类:其他好文   时间:2015-08-13 18:08:50    阅读次数:148
deque双端队列容器
C++中的STL还是比较有用的,尤其是在做科研实现算法的时候,之前也有用过,但是没怎么系统地学过,因此最近找了本书,大致浏览了一下,叶志军的那本《C++ STL开发技术导引》,科普、入门性质的一本书,写得比较浅[呵呵,勿喷]。下面的内容大部分是摘自该书。 deque双端队列容器(double-ended queue),可以在尾部、头部插入、删除元素,采用分块的线性结构来存储数据,两个迭代器分别指向...
分类:其他好文   时间:2015-08-13 14:23:23    阅读次数:112
348条   上一页 1 ... 22 23 24 25 26 ... 35 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!