《STL源码剖析》部分代码释疑

来源:互联网 发布:js input file 赋值 编辑:程序博客网 时间:2024/04/30 14:29

========================================================================
    《STL源码剖析》部分代码详解
========================================================================

候捷的《STL源码剖析》(简体)能让普通程序员一窥大家风采。可惜书中有的代码剖析简略,我将我个人的思考心得讲出来,抛砖引玉,希望能对学习STL的朋友有一点用。
P211:红黑树插入节点应该还有两种情况,状况5、状况6,状况5为S为红且GG为红,X从内侧插入;状况6为S为红,GG为黑,X从内侧插入,算法和3、4对称。
P226:原文说有树形调整操作,仔细阅读代码发现其实没有,只有自下而上的递归。
P363: rotate_cycle,本算法只使用了一个额外存储,while循环的条件用了追赶法,只要记住两个正整数a,b a*b = gcd(a,b)*lcm(a,b)便好理解。
P443: eos没有参数,会造成end_marker为false,这样在迭代的时候,读入stream成功的话end_marker为true,与eos不相等满足迭代条件。这样便可将istream用于通用算法。

 

原创粉丝点击