前言 侯捷的这本《STL源码剖析》读本科的时候就拿来膜拜过,但是看不懂。 然后就放弃了,这段时间用STL比较多,上周碰到了一系列问题。 1.需要自定义一个配置器或者自定义一个vector 因为,STL默认的配置器没有及时释放内存,当时线上内存使用已超过10g,其中有一半是可以释放 ...
https: github.com joeyleeeeeee 目录: 第二章 空间适配器 第三章 迭代器 第四章 序列式容器 vector,list,deque,stack,heap,priority queue,slist 第五章 关联式容器 树的算法 RB tree ,set,map,hashtable 第六章 算法 第七章 仿函数 第八章 适配器 adapet 第二章 空间适配器 具有次配置 ...
2017-07-27 10:54 0 1150 推荐指数:
前言 侯捷的这本《STL源码剖析》读本科的时候就拿来膜拜过,但是看不懂。 然后就放弃了,这段时间用STL比较多,上周碰到了一系列问题。 1.需要自定义一个配置器或者自定义一个vector 因为,STL默认的配置器没有及时释放内存,当时线上内存使用已超过10g,其中有一半是可以释放 ...
上上个月,买了《STL源码剖析》这本书,大概浏览了下,有了个大体的印象。看书的过程中,很多技术细节刚开始还记得的,但是随着内容越来越多,前面看过的知识点到后面就记得不是很清楚了,有点囫囵吞枣的感觉。 本书的作者侯捷先生在这本书开始,用“天下大事 必作于细”来激励读者,说明技术细节的重要性。当我 ...
章是笔者学习《STL源码剖析》的学习笔记,记录的是笔者的个人理解,因为个人的水平有限,难免会有理解不当的地 ...
STL中容器分为序列式容器和关联式容器,其中vector作为最常用的序列式容器之一。 vector基于array,准确的说是基于分配的连续内存,当内存不够使用时,就在分配一块内存,一般来说(源自《c++ primer》和《STL源码剖析》)再分配内存是内存大小是前一大小的两倍即可 ...
STL的sort()算法,数据量大时采用Quick Sort,分段递归排序,一旦分段后的数据量小于某个门槛,为避免Quick Sort的递归调用带来过大的额外负荷,就改用Insertion Sort。如果递归层次过深,还会改用Heap Sort。本文先分别介绍这个三个Sort,再整合分析STL ...
STL(Standard Template Library) 我们使用库函数非常方便,且非常高效(相对于自己实现来说)。那如此好用的模板库它的内里是什么样的?它背着我们施展了什么“魔法”呢?我决定一探究竟,相信你也是一样。我会选用部分重要代码做分析,用来提升自己,希望后来的你在我的拙见中也能有 ...
vector容器概述 vector的数据安排以及操作方式,与array非常相似。两者的唯一区别在于空间的运用的灵活性。array是静态空间,一旦配置了就不能改变;要换个大(或小)一点的房子, ...
这两天略读完了《STL源码剖析》,之所以是略读,就是只看大体,不讲具现(这个词在《深度探析C++对象模型》中比较多) 已经看过好几本C++的书了,感觉C++本身设计的博大精深,而C++编译器就更是一个神奇的东西,换句话说,你永远不知道C++编译器背着你做了哪些出乎你意料的事 不扯远 ...