首页 > 代码库 > 深度探索C++对象模型 读书总结

深度探索C++对象模型 读书总结

Stanley B. Lippman 著

侯捷 译


这本书不是讲具体的C++编程技巧的, 涉及的内容并不在C++的语言层面, 而是探索一个C++编译器如何来实现C++的对象模型. 作者Lippman是世界上一个C++编译器cfront的主要开发者之一.


C++最重要的特性继承和多态使如何来实现的呢? 使用多态带来的效率损失又是多少? 多重继承和虚拟继承又是如何实现的, 与单一继承和非虚拟继承之间的效率对比又是如何估算?  作者通过讲解当初他设计cfront编译器时遇到的这些问题及解决办法带领读者探索C++的对象模型, 一个对象里的东西并不如你看到的那么简单, 虚函数的存在并不是仅仅增加一个virtual关键字那么简单, 虚函数将会导致编译器在你的程序中增加大量的代码. 在多重继承下构造函数究竟是怎样运作的, 什么时候编译器会合成一个构造函数? 类似的还有拷贝构造函数. 这些在C++中非常晦涩, 程序员无法直接接触到的部分在本书中都有答案. 如果你想知道你的C++编译器究竟会对你的程序做什么处理或者你想写出更高效的C++程序, 那么你应该好好读一读这本书.


这本书很多内容很晦涩, 读起来不是那么畅快, 现代编译器的一些实现与cfront也有很大的不同, 所以应该结合实践来理解本书的内容.

深度探索C++对象模型 读书总结