Inside The C++ Object Model

来源:互联网 发布:驾校大数据的应用 编辑:程序博客网 时间:2024/04/28 12:40

这周回家,本来时间就紧,但是回去前,在思前虑后的计划回去路途中看什么书,而浪费了点点时间,真是老毛病,正当犹豫不决的时候,发现了角落里

的这本《Inside The C++ Object Model》,哎,惭愧惭愧,摆在那里已经有灰尘了,真是对不起这本大作呀,想当初,可是看到废寝忘食啊,心想,总算

找到有兴趣的了。

不过看这本书,还是需要相应的基础的,不然可能会有点措手不及。

C++ Object Model

对象模型,何为对象?class struct function??

模型?一种范畴?书直接拿c来说事,进行比较,,阐述相应的优缺点,进而引申到了C++ simple object model

描述的方式非常生动,简单明了。

最后得出结论:

non-static member

vptr

====

static member

member func

static func

==

提到了单继承、多继承、虚拟继承,以及base obj的生成规则!!

那obj model如何影响程序?主要是针对编译器产生的代码来举例。

struct && class 在c++中的差异性???默认的访问方式不同?当然不止!

什么是程序模型?ADT?OO?

OO中的特点,以及多态、继承的一些特性。。。

什么?动态绑定?指针类型?

ok。。20页而已。。。



OBJ如何来?构造而来,如何构造?程序员?编译器?

简单说--implicit  && explicit   trivial && non-trivial

memberwise && bitwise

其中说出了好多人的心声,妈的,c++暗地里干了那么多的勾当,太不靠谱了!!所以我还是用我的c。。。

当编译器需要的时候,它就会去做要做的事情,比如B b;

没explicit的ctor,那只能implicit 的生成一个ctor了,但是这个ctor是non-trivial。

当然,它不会初始化B的member。。。

如此延伸下去。。。copy ctor也是如此。。。


OK,单一OJB这样,那继承下呢?虚拟继承呢?






原创粉丝点击