Учитывая эти структуры на 64 битах:
struct base
{
long a;
};
struct derived : public base
{
long b;
char c;
};
Я получаю размер 24 и предупреждение о заполнении, но я не понимаю, почему.Для меня данные с этим типом наследования выровнены следующим образом:
a
b
c
Таким образом, a выровнен по 8, b тоже, а c - символ и выровнен по 1. Так в чем здесь проблема, почемуразмер 24?