Код: Выделить всё
struct Example1 {
bool b1;
int i;
bool b2;
}; // 12 bytes
struct Example2 {
bool b1;
bool b2;
int i;
}; // 8 bytes
Однако мой вопрос касается обоснования дизайна:
Почему расположение памяти класса члены в C++ разработаны так, чтобы зависеть от порядка их объявления?
Почему компилятор не переупорядочивает члены автоматически, чтобы минимизировать размер (например, помещая все логические члены вместе)?
Я не нашел ответа где-то еще, спасибо вперед!
Подробнее здесь: https://stackoverflow.com/questions/793 ... nd-on-thei
Мобильная версия