虽然成员数据包含在类的声明里面,但不出现在对象中,但是并没有增加类的成本每一个非内联函数都只会诞生一个函数实体。
C++ 在布局及存取时间上的主要额外负担是由 virtua l引起的,包括:
此外还有一席多重继承下的额外负担,发生在“一个派生类和其第二或后继之 base class 的转换”之间。
在C++中,有两种类数据成员 static 和 nonstatic,以及三种类成员函数:static、nonstatic和virtual。
C++对象模型。在该模型中,【非静态数据成员】 被配置于每一个 【类成员】 之内, 【静态数据成员】、【静态】和【非静态的成员函数】 则被放在所有的 【类对象】之外。(1内3外)。
关于虚表:
原文:http://www.cnblogs.com/liuyubin233/p/6672809.html