Вопрос по sizeof-ам от классов
Пришёл тут друг один с собеседования и начал меня разные вопросы спрашивать.
Одним из них немного озадачил.
class A
{
int a;
char b;
static char c;
public:
virtual get_a();
A();
~A();
}
int main()
{
A a;
int x = sizeof(A);
int y = sizeof(a);
}
чему равны x и y ?
Видимо подразумевается что реализации всех функций есть.
Не знаю что он ответил, но ему сказали что правильно 6 и 9.
Я могу поверить в 9, если выключить выравнивание (опустим тот момент что по умолчанию выравнивание в структурах включено, и сейчас наверняка уже никто и не знает как его вырубить).
Но 6.. каким образом?
Я пишу на MSовских продуктах, может там чтоне так?
В общем сдаётся мне что его немного напарили.
Одним из них немного озадачил.
class A
{
int a;
char b;
static char c;
public:
virtual get_a();
A();
~A();
}
int main()
{
A a;
int x = sizeof(A);
int y = sizeof(a);
}
чему равны x и y ?
Видимо подразумевается что реализации всех функций есть.
Не знаю что он ответил, но ему сказали что правильно 6 и 9.
Я могу поверить в 9, если выключить выравнивание (опустим тот момент что по умолчанию выравнивание в структурах включено, и сейчас наверняка уже никто и не знает как его вырубить).
Но 6.. каким образом?
Я пишу на MSовских продуктах, может там чтоне так?
В общем сдаётся мне что его немного напарили.
