
如何阅读本书
1.通读式阅读
如果你是有一定基础但缺乏用底层的视角建立系统观的经验和经历,请从头到尾完全按照书上所展示的实验一步步分析,最好能自己提出新问题并验证。如果确有难以解决的问题,可发到作者邮箱hhan@uestc.edu.cn。对于常见问题,笔者也会在博客中与大家分享、探讨,http://blog.sina.com.cn/u/2103052793。本书更重体验式,所以单从简单阅读来看,多会产生一种知识点散漫之感,但如能静心用程序实证,所有的方法和系统感自会悄然建立。真正的知识探索过程本就是多线索、离散化、过程式的,在一种反复的淬炼中自然会升华,这也是工程性手艺活的特点。最典型的就是中国功夫的训练,或站桩,或一招两式,反复打磨,似乎全无体系,一朝顿悟,自能豁然贯通。这是东方式的体悟和西方式的解析解构的差别。
当然,如果你在经历了实证过程后,还需要有人引领你提炼出书中的知识架构,可参考第2种方法。如果你在之后需要快速查找一些知识点,可参考第2种方法。
2.快速索引式
如果你是教师或有很深厚功力的读者,希望从本书中快速查找自己感兴趣的部分阅读,可参阅本节提供的知识导图和索引,快速找到知识点。
总体知识导图是笔者总结的本书所涉及的知识点的架构,可帮助读者回忆和总结,由三部分组成:一是简略总图,能帮助你了解其概况;二是较细的总图,其中主要知识点均有相关索引标注,你能快速跳到感兴趣处;三是分图,针对各主要部分展示最全面的知识索引和架构。
标注分两种:一种是直接给出章节号,另一种是给出章节及其中的关键词索引。后者使用方式如下:例如,知识导图中某知识点如下,先说明该知识点在5.3.3节中,关键词是“统一API法”,然后在5.3.3节正文的外侧查找如下所示的图标,“统一API法”标注的行就是相关内容。

知识导图的标注

正文中的标注
3.章首页
每章都有首页,其中展示了本章所需前导知识点及其所在位置,以及本章对后续章节知识的支撑作用。如果你直接切入到某章,“需准备的知识”辅助你有效阅读,“为你提供的能力则”让你明了本章内容有何价值。

导图1.1 switch 语句机制探索

导图2.1 异常机制探索

导图3.1 分析COFF中重定位相关数据结构

导图4.1 分析dynamic_cast 工作原理

导图5.1 线程类出错分析

导图6.1 delete 错误解决路线图

面向对象设计及其底层机制的相关影响

调试相关

总体框架构(略)

自我学习构建程序的方法

底层观