×

《深度探索C++对象模型》pdf版本电子教材免费下载

消耗积分:0 | 格式:pdf | 大小:0.00 MB | 2023-08-11

第三代

分享资料个

  对于传统的结构化(sequential)语言,我们向来没有太多的疑惑,虽然在函数调用的背后,也有着堆栈建制、参数排列、返回地址、堆栈清除等等幕后机制,但函数调用是那么的自然而明显,好像只是夹带着一个包裹,从程序的某一个地点跳到另一个地点去执行。

  但是对于面向对象(Object Oriented)语言,我们的疑惑就多了。究其因,这种语言的编译器为我们(程序员)做了太多的服务:构造函数、析构函数、虚拟函数、继承、多态……有时候它为我们合成出一些额外的函数(或运算符),有时候它又扩张我们所写的函数内容,放进更多的操作。有时候它还会为我们的objects加油添醋,放进一些奇妙的东西,使你面对sizeof的结果大惊失色。

  我心里头一直有个疑惑:计算机程序最基础的形式,总是脱离不了一行一行的循序执行模式,为什么OO(面向对象)语言却能够“自动完成”这么多事情呢?另一个疑惑是,威力强大的polymorphism(多态),其底层机制究竟如何?

  如果不了解编译器对我们所写的C++代码做了什么手脚,这些困惑永远解不开。

  这本书解决了过去令我百思不解的诸多疑惑。我要向所有已具备C++多年程序设计经验的同好们大力推荐这本书。

  这本书同时也是跃向组件软件(component-ware)基本精神的“跳板”。不管你想学习COM(Component Object Model)、CORBA(Common Object Request Broker Architecture)或是SOM(System Object Model),了解C++ Object Model,将使你更清楚软件组件(components)设计上的难点与运用之道。不但我自己在学习COM的道路上有此强烈的感受,Essential COM(《COM本质论》,侯捷译,碁峰1998)的作者Don Box也在他的书中推崇Lippman的这一本卓越的书籍。

  是的,这当然不会是一本轻松的书籍。某些章节(例如3、4两章)可能给你立即的享受——享受于面对底层机制有所体会与掌控的快乐;某些章节(例如5、6、7三章)可能带给你短暂的痛苦——痛苦于艰难深涩、难以吞咽的内容。这些快乐与痛苦,其实就是我翻译此书时的心情写照。无论如何,我希望通过我的译笔,把这本难得的好书带到更多人面前,引领大家见识C++底层建设的技术之美。

 

  目录

  VII前言(Stanley B. Lippman)

  XIII第0章 导读(译者的话)

  XXV第1章 关于对象(Object Lessons) 1

  第2章 构造函数语意学(The Semantics of Constructors) 37第

  3章 Data语意学(The Semantics of Data) 83

  第4章 Function语意学(The Semantics of Function) 139

  第5章 构造、析构、拷贝语意学(Semantics of Construction,

  第6章 执行期语意学(Runtime Semantics) 237

  第7章 站在对象模型的尖端(On the Cusp of the Object Model) 279

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !