码迷,mamicode.com
首页 >  
搜索关键字:stl源码    ( 345个结果
STL源码--序列容器(一)
一、vector、list、deque 迭代器vector 原始指针list 随机迭代器deque 自定义迭代器,可以+n操作 迭代器失效vector 插入删除在插入删除点后的均会失效(不包括末尾;插入如果重新分配的话就会整体失效;清楚所有也会所有失效list 除了删除的点会失...
分类:其他好文   时间:2014-09-11 23:41:52    阅读次数:207
《STL源码剖析》学习笔记系列之五——关联式容器(1)
RB-tree(红黑树) 1.1 简介      RB-tree属于二叉搜索树,即节点的键值一定大于其左孩子节点的键值,小于其右孩子节点的键值。RB-tree还有以下四个特征: 1、         每个节点非黑即红。 2、         根节点为黑色。 3、         如果节点为红,其子节点必须为黑。 4、         任一节点至NULL(即尾端)的任何路径,所含黑节点...
分类:其他好文   时间:2014-09-07 17:19:25    阅读次数:280
《STL源码剖析》学习笔记系列之五——关联式容器(2)
Hashtable 2.1 简介    哈希表,又名散列表,可以提供“常数时间”的插入、删除、查询等操作。不同的元素通过hash function映射到不同的位置,但当不同元素获得经hash function获得相同的位置(索引)时,则发生“碰撞”,此时需要通过以下几种方法为新加入的元素寻找新的索引地址。 1、        线性探测法 由于为元素准备的为一块连续内存空间地址,该方法会循序...
分类:其他好文   时间:2014-09-06 22:35:54    阅读次数:275
重温《STL源码剖析》笔记 第四章
源码之前,了无秘密 ——侯杰第四章:序列式容器 C++语言本身提供了一个序列式容器array array:分配静态空间,一旦配置了就不能改变。 vector: 分配动态空间。维护一个连续线性空间,迭代器类型为:Random Access Iterato...
分类:其他好文   时间:2014-09-03 11:08:36    阅读次数:231
_Obj* __STL_VOLATILE* __my_free_list
今天在读《STL源码剖析》空间配置器第二级时看到了这句,有点不解,于是查阅后知:obj后面是个指针 STL_VOLATILE也应该是个类型定义的吧,程序中应该有define来对它定义。所以就是指针的指针。。指针,也就是地址,所以是__my_free_list是一个地址,*__my_free_list...
分类:其他好文   时间:2014-09-03 00:13:05    阅读次数:420
重温《STL源码剖析》笔记 第一章
源码之前,了无秘密。 --侯杰经典的书,确实每看一遍都能重新收获一遍:第一章:STL简介 STL的设计思维:对象的耦合性极低,复用性极高,符合开发封闭原则的程序库。 STL的价值:1.带给我们一套极具实用价值的零部件,以及一个整合的组织。 ...
分类:其他好文   时间:2014-09-02 22:41:15    阅读次数:290
重温《STL源码剖析》笔记 第二章
第二章:空间配置器 allocator SGI特殊的空间配置器,std::alloc SGI是以malloc()和free()完成内存的配置与释放。 SGI设计了双层级配置器: 第一级配置器直接使用malloc()和free(); _malloc_alloc_template ...
分类:其他好文   时间:2014-09-02 22:40:25    阅读次数:237
重温《STL源码剖析》笔记 第三章
第三章:迭代器概念与traits编程技法 迭代器是一种smart pointer auto_Ptr 是一个用来包装原生指针(native pointer)的对象,声明狼藉的内存泄漏问题可藉此获得解决。 auto_ptr用法如下,和原生指针一模一样:void func() { auto_p...
分类:其他好文   时间:2014-09-02 22:34:25    阅读次数:266
STL源码学习--vector使用方法总结
一、容器vector 使用vector必须包含头文件: #include 型别vector是一个定义于namespace std内的template: [cpp] view plaincopyprint? templateclass _Ty,      class _Ax = allocator >   第二个参数定义内存模型。我们一般采用默认的内存模型。 ...
分类:其他好文   时间:2014-08-31 10:32:21    阅读次数:239
STL源码分析--deque
一、deque的中控器       deque是连续空间(至少逻辑上看来如此),连续线性空间总令我们联想到array或vector。array无法成长,vector虽可成长,却只能向尾端成长,而且其所谓的成长原是个假象,事实上是(1)另觅更大空间;(2)将原数据复制过去;(3)释放原空间三部曲。如果不是vector每次配置新空间时都有留下一些余裕,其成长假象所带来的代价将是相当高昂。     ...
分类:其他好文   时间:2014-08-27 23:35:56    阅读次数:576
345条   上一页 1 ... 24 25 26 27 28 ... 35 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!