Рассмотрим следующую структуру:
class Foo {
int a;
};
Тестирование в g++, я получаю это sizeof(Foo) == 4, но гарантируется ли это стандартом? Разрешил ли компилятор заметить, что a является неиспользуемым частным полем и удаляет его из представления класса в памяти (что приводит к меньшему размеру)?
Я не ожидаю, что какие-либо компиляторы действительно сделают такую оптимизацию, но этот вопрос возник в обсуждении вопросов, связанных с языком, поэтому теперь мне интересно.