推荐一篇介绍Visual C++对象模型的老文章。这篇文章详细介绍了C++的一些运行时实现细节,诸如类的布局、虚函数机制等。以下摘自原文: This paper looks “under the hood” of C++, explaining “run-time” C++ implementation details such as class layout techniques and the virtual function call mechanism. Questions to be answered include: * How are classes laid out? * How are data members accessed? * How are member functions called? * What is an adjuster thunk? * What are the costs: o Of single, multiple, and virtual inheritance
看到一位朋友在博客里谈到C++的多重继承问题:
透过汇编另眼看世界之多继承下的虚函数函数调用。我也想说两句。从汇编的角度研究C++的实现真的是学习C++的一个很好的方法。要了解C++的对象模型,特别是多重继承下的对象模型,当然要看Stanley Lippman的“深度探索C++对象模型”。
另外还有MSDN上的一篇文章,可能很多人都没注意到,讲的也很清楚。这里我向大家强烈推荐,虽然这是一篇发表在1994年的老文。在这篇文章面前,我说多一句都是废话。