Добрый день.
Как пояснить следующее:
struct A{
char a;
char b;
char c;
};
A a;
cout << sizeof(a); // Получаем размер экземпляра класса - 3 байта.
а если написать вот так:
struct A{
int a;
int b;
char c;
};
A a;
cout << sizeof(a); // Получаем размер экземпляра класса - 12 байт.
Почему во втором случае идет поправка, а в первом нет?
я так понимаю что поправка идет на размер самого большого типа, но почему так? И что происходит с теми битами, которые "поправились"?
Спасибо.