STL源码剖析
文章平均质量分 85
求真理
这个作者很懒,什么都没留下…
展开
-
STL源码剖析——迭代器概念和trait编程技巧
迭代器模式:提供一种方法,使之能够依序巡防某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达式。STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以一帖胶着剂将它们撮合在一起。template <typename T>class List{public: void insert_front(T value); void insert_end(T v...原创 2018-03-16 16:25:08 · 264 阅读 · 0 评论 -
4 序列式容器
vector的工作流程:配置新空间,数据移动,释放旧空间。uninitialized copy :用于对只分配了内存,却还没有构造对象的内存上拷贝数据。template <class T, class Alloc = alloc> // 預設使用 alloc 為配置器class vector {public: // 以下標示 (1),(2),(3),(4),(5),代表 it...原创 2018-03-18 20:19:10 · 119 阅读 · 0 评论 -
空间配置器
为什么不说allocator是内存配置器而说它是空间配置器?因为空间不一定是内存,空间也可以是磁盘或其他辅助存储介质。你可以写一个allocator直接向硬盘取空间。set_new_handler: 当operator new申请一个内存失败的时候,会调用set_new_handler设置的函数,参数为0,则抛出异常 。new运算符和operator new() ...原创 2018-03-13 15:25:51 · 125 阅读 · 0 评论