热门搜索: 中考 高考 考试 开卷17
服务电话 024-23945002/96192
 

C++对象模型详解

编号:
wx1203692682
销售价:
¥77.23
(市场价: ¥89.80)
赠送积分:
77
数量:
   
商品介绍

更实用——基于产业界常用的C++17标准编写。
更流行——通过更流行的GCC/Clang编译器的实现来讲解C++对象模型。
更透彻——通过汇编代码来讲解C++代码背后的实现原理。
更易懂——通过97张图片+31份配套案例代码深入浅出讲解知识难点。
更直观——引入开源工具cppinsights和Compiler Explorer用于研究GCC中C++对象模型的原理。

本书内容包括:
1、C++数据语义学,即编译器如何布局C++对象模型中的数据成员;
2、C++函数语义学,包括编译器如何实现C++中的多态、如何调用虚函数等;
3、C++构造、析构语义学,涉及编译器对C++对象的构造和析构方式,包括全局对象和静态局部变量的构造等内容;
4、C++异常处理,包括GCC中异常处理的实现方式及实践准则;
5、C++运行时类型识别(RTTI)的实现原理,包括dynamic_cast算法的具体实现;
6、C++ Name Mangling规则,包括GCC对C++代码中各个名称的编码方式。

本书基于GCC/Clang编译器深入讲解C++对象模型的相关知识,涵盖C++对象的内部工作原理及底层的汇编实现机制。
本书先介绍对象模型的基本概念,并引入两个用于研究C++代码实现的开源工具一cppinsights和 Compiler Explorer。接着,依次讲解C++数据语义学,即编译器如何布局C++对象模型中的数据成 C++函数语义学,包括编译器如何实现C++中的多态、如何调用虚函数等;C++构造、析构语义学,涉及编译器对 C++对象的构造和析构方式,包括全局对象和静态局部变量的构造等内容;C++异常处理,包括GCC中异常处理的实现方式及实践准则;C++运行时类型识别(RTTI)的实现原理,包括 dynamic_cast算法的具体实现;C++Name Mangling规则,包括GCC对C++代码中各个名称的编码方式。
本书适合有意深入理解C++对象模型、了解C++代码底层实现的读者阅读。阅读本书需要具备一定的C++基础知识。

秦连松,硕士毕业于中国科学院大学,曾在百度、字节跳动等公司从事C++开发工作,目前在小米公司从事虚拟机相关的工作。

第 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

商品参数
基本信息
出版社 人民邮电出版社
ISBN 9787115657121
条码 9787115657121
编者 秦连松 著
译者 --
出版年月 2025-07-01 00:00:00.0
开本 16开
装帧 平装
页数 252
字数 356
版次 1
印次 1
纸张 一般胶版纸
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]