Почему sizeof (D) равен 2 в этом коде (см. Подробности)? struct X {}; struct D : X { X x; }; В соответствии с http://www.stroustrup.com/bs_faq2.html#sizeof-empty пустой базовый класс добавляет нуль к размеру.