第 1 章 概述 ... 1
第 2 章 工具 ... 5
2.1 使用 cppinsights ... 5
2.2 使用 Compiler Explorer ... 12
2.3 总结 ... 13
第 3 章 数据语义学 ... 15
3.1 数据成员布局 ... 17
3.2 继承与数据成员 ... 36
3.3 数据成员的存取 ... 55
3.4 指向成员变量的指针... 57
3.5 总结 ... 62
第 4 章 函数语义学 ... 63
4.1 C++函数决议 ... 64
4.2 虚表构造 ... 69
4.3 成员函数的调用方式... 79
4.4 虚成员函数的调用方式 ... 89
4.5 指向成员函数的指针... 99
4.6 总结 ... 107
第 5 章 构造、析构语义学 ... 109
5.1 对象构造 ... 110
5.2 对象析构 ... 131
5.3 全局对象构造与析构... 145
5.4 总结 ... 151
第 6 章 异常处理 ... 155
6.1 C++异常的约定 ... 157
6.2 GCC 中 C++异常的实现 ... 169
6.3 现代 C++中的异常介绍 ... 189
6.4 C++异常的处理 ... 193
6.5 总结 ... 196
第 7 章 运行时类型识别 ... 197
7.1 RTTI 布局 ... 198
7.2 typeid 操作符 ... 206
7.3 dynamic_cast 算法 ... 211
7.4 总结 ... 215
第 8 章 Name Mangling 规则 ... 217
8.1 基本概念 ... 218
8.2 操作符的编码 ... 222
8.3 一些特殊函数和实体的编码 ... 224
8.4 类型编码 ... 227
8.5 表达式编码 ... 234
8.6 作用域编码 ... 241
8.7 lambda 表达式编码 ... 243
8.8 压缩 ... 246
8.9 总结 ... 251