C++类对象构造过程及内存布局

最近某哥要我讲讲C++类对象构造过程及内存布局,让我不胜惶恐:

C++类对象构造过程及内存布局_第1张图片

我为什么惶恐呢,首先我不知道怎么讲这些问题,这个topic实在是很大。我自己也只是知道点vtable,stdcall,cdecl,ctor,dynamic_cast什么的原理。你如果要我讲的深入的话,那我也不知道啊。

而且某哥说了99%的码农都不知道,某哥你是不是过于自信了?如果只是上面这些我知道的部分的话,那么我敢拍胸脯说我大EMC招的人基本上上面这些还都是知道的,因为这些也都是基础知识而已。所以,我料定某哥指的必然是某些高深莫测的东西。

怎么说能,我只能尽我所能的向各位推荐以下这3本,看完之后,我估计你知道的东西50%的其他码农不知道还是有可能的。但要99%的话。。。还是请某哥来写篇文章吧。。。小弟我是不行了。。。

总体的思路就是,想象一下如果你用C语言来实现C++的面向对象该怎么做呢?

深入理解计算机系统

C++类对象构造过程及内存布局_第2张图片

深度探索C++对象模型

C++类对象构造过程及内存布局_第3张图片

Object Oriented Programming with ANSI-C

C++类对象构造过程及内存布局_第4张图片

前面2本,大家都耳熟能详。这最后一本,我也是最近几周才刚知道有这么一本,目前还没来得及看多少,国内也没有出版过,也是一本几十年前的老书。不过它里面有很多的代码教你怎么一步步用C来实现C++的面向对象,同时你也能知道用C实现的面向对象在哪些方面是不完备的。

你可能感兴趣的:(C++类对象构造过程及内存布局)