C++ STL 的实现:1.vector 底层数据结构为数组 ,支持快速随机访问2.list 底层数据结构为双向链表,支持快速增删3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问deque是一个双端队列(do...
分类:
其他好文 时间:
2015-01-30 17:26:06
阅读次数:
156
STL底层数据结构
1.vector 底层数据结构为数组 ,支持快速随机访问
2.list 底层数据结构为双向链表,支持快速增删
3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问
4.stack 底层一般用list或deque实现,封闭头部即可,不用vector...
分类:
其他好文 时间:
2015-01-27 21:55:42
阅读次数:
200
Download STL source code-> http://www.sgi.com/tech/stl/download.html
分类:
其他好文 时间:
2015-01-26 14:51:16
阅读次数:
519
STL源码剖析--侯捷总结 尽管现在的很多语言支持参数类型的判别,但是c/c++并不支持这一特性。 但是我们可以通过一些技巧使得c++具有自动判别参数类型的特性。模板 我们都知道在模板类和模板函数中我们不用具体指定参数的型别,编译器会自动的判别参数的类型。 所以我们想可不可以把编译器运行...
分类:
编程语言 时间:
2014-12-27 17:31:17
阅读次数:
249
STL源码分析—空间配置器
空间配置器中门道
在STL中的容器里都是使用统一的空间配置器,空间配置器就是管理分配内存和销毁内存的。在STL将在heap空间创建一个对象分为两个步骤,第一是申请一块内存,第二是在这块内存中初始化一个对象。首先申请空间是由malloc提供,初始化一个对象时由constructor管理。销毁一个对象也是由两步骤完成,第一是销毁空间上的对象,第二是释放这块内存。
同时...
分类:
其他好文 时间:
2014-12-26 16:48:26
阅读次数:
119
STL源码分析—使用的一些特殊语法
关于泛型编程中用到的一些特殊语法,这些语法也适用于平常的模板编程
1、 类模板中使用静态成员变量
Static成员变量在类模板中并不是很特殊,同时这个变量不属于对象,属于实例化以后的这个类类型。每一个实例化对应一个static变量
2、 类模板中可以再有模板成员
3、 模板参数可以根据前一个模板参数而设定默认值
4、 类模板可以拥有非类型的模...
分类:
其他好文 时间:
2014-12-26 13:03:06
阅读次数:
170
c++:
《c++程序设计》
《c++primer》
《effective c++》
《more effective c++》
《深入探索c++对象模型》
《泛型编程与STL》
《STL源码剖析》
数据结构与算法:
《算法导论》
《introduction of the design and analysis of algorithm》
《数据结构与算法分析:c语言描...
分类:
其他好文 时间:
2014-12-24 00:04:18
阅读次数:
162
traits和policy在泛型编程里面还是挺常见的。像stl的string实现里面就用到了traits,boost里面也很多地方用到traits。
traits和policy很多时候都会一起使用,让我们在泛型编程里面多了一些思路。
traits:中文解释为特征,记得候捷在《stl源码剖析》那本书里面还叫做萃取什么的。当我们想从一个类型身上获取他的一个附加特性的时候,往往可以考虑traits。...
分类:
编程语言 时间:
2014-12-17 12:53:23
阅读次数:
129
参考自侯捷的《stl源码剖析》stl算法主要分为非可变序列算法(指不直接修改其所操作的容器内容的算法),可变序列算法(指可以修改它们所操作的容器内容的算法),排序算法(包括对序列进行排序和合并的算法、搜索算法以及有序序列上的集合操作),数值算法(对容器内容进行数值计算)。1.非可变序列算法stl中的...
分类:
编程语言 时间:
2014-12-15 23:17:43
阅读次数:
417
很早之前,忘了是看书还是别人介绍了,说STL里有一些类型检查的东西,比如vector里面会检查是否定义了赋值操作符,还有的检查是否有默认参数的构造函数之类的。看STL源码的时候发现了一个concept_check的头文件,发现其中的内容还真是不少。有一些就是做这种检查的。
STL默认提供了很多种操作的检查,比如:
_Allocator
_Assignable
_DefaultConstru...
分类:
其他好文 时间:
2014-12-15 21:52:51
阅读次数:
164