我正在测试 C++ 中基类和派生类的大小。
class X {};
class Y : public virtual X {};
class Z : public virtual X {};
class A : public Y, public Z {};
每个 X、Y、Z、A 的大小分别为 1、8、8、12。我无法理解这一点。我知道空类的默认大小是 1。所以我可以理解 X 的大小是 1。我知道 Y 和 Z 的大小不会因为会添加 virtual_pointer。但是8?我不明白这个。有人可以解释一下吗?