《深度探索c++对象模型》 学习笔记 - 前言

这是一个学习笔记的系列,预计分为9篇:前言 + 7章 + 附录。

简单介绍一下<深度探索c++对象模型>(简称<深度>)。

作者Stanley B. Lippman,不用多说了,是<C++ Primer>的作者,经常和Meyers、Stroustrup、Koenig这些人厮混在一起的C++大师,参与了第一个C++编译器的实现。

在学习C++入门的时候,很多人都推荐C++ Primer,甚至可以代替TCPL(这可是Stroustrup老大写的),足见Lippman对C++深厚和独到的见解。另一方面也说明,这老大的文字功力实在了得。(一句题外话,很多人都说一个语言,或者一个系统能不能发扬光大,要看领军人物的文字功力,比如Linus。)

从我本人对这本书的浅薄认识来说,我觉得,他的最大意义在于:1)知道了各种各样的对象的sizeof,以及语言的协议(标准)背后的黑幕;2)通往COM的直达车。

 

我为什么要学习他那?源于一次郁闷。去一家欧洲外企笔试C++,我觉得他们的题目出的真是太太太经典了,涉及到了很多我从前感觉知道但是又不是很确信的东西,或者知其然但不知所以然的东西,比如就出了一道题:多重继承 + 虚函数 + 虚拟继承,问内存布局,sizeof,vtble布局。当时反正我是晕晕乎乎的蒙着答。回来之后才发现原来这些就是<深度>要解决的问题;于是开始看。

可能大家对这本书的褒贬不一,因为他讲了很多编译器依赖的底层实现,并不是跨平台可移植的;还因为这些东西在实际应用中好像并不能解决很多问题;也因为这里用到了很多被纯OO的同学所诟病的所谓idiom的取巧。但是,无论怎么说,我都觉得这本书是我近年来看得最明白、最过瘾的一本书,用一句话来形容:天高月小,水落石出,拨云见日。

 

老婆练习yoga,对一些心里、灵性方面的知识比较感兴趣。她讲,<新世界>的作者在感悟到小我和本我的剥离之后,一度处于深深的快乐中。我觉得,我在读完这本书之后,也些许有些这种感觉。

上周有家公司联系我,说是对COM要求灰常灰常高。我对COM倒是有经验,但是没有系统的好好学一下,于是想着最好系统的看本书吧;借来了<COM技术内幕>。周二晚上开始看了一点,周三看了一天,直到晚上,看完了。感受是什么那?1)<深度>简直就是COM的天然进阶书,理解了内存的布局和抽象,很自然就进入了COM的领域;2)这么牛的一本书,可惜了没有把线程模型讲清楚,还是我在网上找了一个哥们的文章,一页纸就明白了。3)周四一天、周五上午一直都恶心,不想干活、不想看书,可能是那天看的太入神、太累了。

 

写这么多,就是为了自己不要忘记这段历史;如果谁感兴趣,还可以顺便做个教育。

是为序。

你可能感兴趣的:(C++,c,教育,语言,编译器,跨平台)