stl源码解析应该怎么样读

这本书随便看看就好了,主要是对整体框架有个大概了解就行主要了解一下vector如何动态增长,list怎么用一个node表示,deque的map node的思想,关联式容器的底层实现,非关联式容器的底层实现,等等。具体实现不用太认真看,因为跟现在的主流实现相比有较大差别,如有需要可以直接看libcxx或libstdc++的源码。前面讲traits的那一坨跟现在的已经截然不同了,也不需要仔细看。后面算法除非需要也不需要仔细看啦。我所了解的找工作的要求,跟这个的水平关系不大。因为面试考察的都是比较全面的知识,不是说你这一方面很精通就怎能怎么样的。
■网友
只推荐读SGI版本的STL实现。
注意各个容器的构造函数是如何实现的,顺序容器的assign函数,着重看一下是如何实现的。
除了常见的顺序容器外,思考一下为什么关联是容器map,set的红黑树节点要使用继承的方式来实现。
最后有时间,着重看一下algorithms这个库,看看人家的工业级常用算法是如何实现的,例如lower_bound,upper_bound,equal_range,next_permutation等等。

■网友
whq703/tinySTL当然是写一个 跟它长差不多的啦

■网友
相比于现在的实现,《STL源码剖析》里的内容稍稍有点脱节;我是好几年前看的这本,当时觉得非常棒;
大体上只要按顺序看完一两遍就行,不用太纠缠于具体代码的细节,能跟着作者的节奏理清楚思路就好;
以及,allocator和traits的部分不要跳过了,还是蛮有意思的。
要是想面试能回答上来STL的相关问题,主要还是靠平时的经验和积累,书对此的作用有多大还不好说

■网友
打开vs,写个vector,list...的代码,F11开始step in。
【stl源码解析应该怎么样读】 如果你之前动手实现过比较多的数据结构,理解堆栈,stl源码很容易理解。


    推荐阅读