Может кто-нибудь объяснить?
sizeof
всегда возвращает правильный размер. Таким образом, мы можем сделать вывод, что ваше ожидание размера было неверным.
Вы не объяснили, почему думали, что сделали, но, скорее всего, причиной ошибки является неспособность принять во внимание выравнивание памяти.
Я думал, что строка 32 байта
Это может быть в некоторых системах. Это не относится ко всем системам.
, а int равно 4 байта.
Это может быть в некоторых системах. Это не относится ко всем системам.
Таким образом, sizeof (SizeTest) должен составлять 36 байтов
Нет. Размер класса «не должен» быть суммой размера его членов.