Inside The C++ Object Model

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

的这本《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这样,那继承下呢?虚拟继承呢?






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值