如下三个类: class X { }: class Y :public virtual X { }; class Z : public virtual X {}; class A :public Y,public Z {}; 一.编译器优化之前的大小: 上述四个类在优化之前的大小分别是:1.8.8 .12 类X明明没有任何成员为什么大小是1byte呢?因为那是编译器插入的一个char,这使得这一class的两个object在内存中有独一无二的地址. Y和Z的大小都是8,这受到了机器和编译器共同的…