码迷,mamicode.com
首页 >  
搜索关键字:stl源码剖析    ( 238个结果
《STL源码剖析》--next_permutation函数
STL中提供了2个计算排列组合关系的算法。分别是next_permucation和prev_permutaion。next_permutation是用来计算下一个(next)字典序排列的组合,而prev_permutation用来计算上一个(prev)字典序的排列组合。 这小节看一下next_permutation...
分类:其他好文   时间:2015-08-13 23:40:04    阅读次数:176
STL源码剖析——空间的配置与释放
C++的内存配置基本操作是  ::operator new(),内存释放的基本操作是 ::operator delete()。这两个全局函数相当于C的malloc()和free()函数。是的,正是如此,STL正是以malloc()和free()完成内存的配置与释放。     但是考虑到小型区块所可能造成的内存破碎问题,STL中设计了双层级配置器, 第一级配置器直接使用malloc()和free(...
分类:其他好文   时间:2015-08-13 16:00:42    阅读次数:240
STL源码剖析——vector的实现原理总结
??     vector的数据安排以及操作方式,与array非常相似。两者的唯一区别在于空间的运用的灵活性。array是静态空间,一旦配置了就不能改变;要换个大(或小)一点的房子,可以,一切琐细都得由客户端自己来:首先配置一块新空间,然后将元素从旧址一一搬往新址,再把原来的空间释还给系统。vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。因此,vector的运用对...
分类:其他好文   时间:2015-08-07 13:31:01    阅读次数:127
《STL源码剖析》学习笔记(二)
STL标准模板库作为C++标准库的一部分,其组件包括:容器、算法、迭代器、仿函数、配接器、配置器。          今天来说说容器,容器主要可以分为两种:序列式容器(元素是可序的,但并非有序)、关联式容器。 一、序列式容器      1、vector      1)vector和C/C++的内置数组类似,只不过array空间是静态的,vector的空间则是可以改变的,当元素个数达到空间上...
分类:其他好文   时间:2015-07-29 23:10:38    阅读次数:255
STL源码剖析(4):容器(list)
相较于vector的连续线性空间,list就显得复杂许多,它的好处是每次插入或删除一个元素,就配置或释放一个元素空间。因此,list对于空间的运用有绝对的精准,一点也不浪费。而且,对于任何位置的元素插入或元素移除,list永远是常数时间。  list 内部为双向链表,内部元素互相以link串接起来,每个元素都知道其前一个元素以及下一个元素的位置。template struct _...
分类:其他好文   时间:2015-07-27 13:16:10    阅读次数:130
《STL源码剖析》空间配置器
空间配置器(allocator) 空间配置器按我的理解就是C++ STL进行内存管理的组件(包括内存的申请和释放);当然,不只是内存,还可以向硬盘申请空间; 我主要看了内存的配置与释放(这里“配置”就应该是“申请”的意思)。STL对此设计的哲学主要包括以下四个方面: 1、向系统堆空间申请内存空间 2、考虑了多线程的情况下的申请; 3、考虑内存不足的应变措施; 4、考虑过多“小型区块”的内存碎片的问...
分类:其他好文   时间:2015-07-19 10:12:24    阅读次数:123
STL源码剖析
花了两天时间略读了一下《stl源码分析》,看了个大体,对于细节并没有深究。之所以想翻翻这本书,主要是想看看stl中的特性、适配器的具体实现。看完之后收获还是蛮大的,模板的各种组合让我眼前一亮,下面大概总结一些内容。 1.内存分配:sgi内存分配采用两级实现,对于大内存块的申请(大于128k)由...
分类:其他好文   时间:2015-07-08 20:31:44    阅读次数:140
STL之heap的make_heap函数
在看侯捷翻译的STL源码剖析时,发现关于heap这一节点错误,特此指出. 1 make_heap源码 template inline void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { __make_heap(__first, __last, __...
分类:其他好文   时间:2015-07-04 12:47:35    阅读次数:114
C++ 《STL源码剖析》学习-vector
本文章是笔者学习《STL源码剖析》的学习笔记,记录的是笔者的个人理解,因为个人的水平有限,难免会有理解不当的地方,而且该书出版的时间比较久,难免会有些不一样。如有不当,欢迎指出。 vector是c++中经常用到的数据结构,而且在面试时也会有提及,因此了解vector很重要。 一说到vecto...
分类:编程语言   时间:2015-06-28 22:46:41    阅读次数:226
238条   上一页 1 ... 9 10 11 12 13 ... 24 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!