Предположим, что у меня есть следующие определения структур С++.
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
, я не могу придумать, почему...? Не могли бы вы объяснить? Спасибо!