Предположим, что у меня есть следующие определения структур С++.
struct Empty {};
struct Tmp : public Empty { int x; };
struct Tmp2 : public Empty { Tmp tmp;};
struct Tmp3 { Tmp tmp; };
Ожидается sizeof(Tmp3) == sizeof(Tmp) == 4.
Однако sizeof(Tmp2) == 8, я не могу придумать, почему...? Не могли бы вы объяснить? Спасибо!