class A{
}
В теории не меньше одного байта. На практике ровно один байт. Не ноль потому, что, согласно спецификации, каждый объект должен иметь свой адрес. Объекты с нулевым размером запросто могли иметь один и тот же адрес.
четверг, 21 октября 2010 г.
23. Каков размер «пустого» объекта?
Подписаться на:
Комментарии к сообщению (Atom)
#include
ОтветитьУдалитьusing namespace std;
class A
{
public:
virtual void foo()
{
cout << "A";
}
};
class B : public A
{
};
int main()
{
A a;
B b;
cout << sizeof(a) << " " << sizeof(b) << endl;
return 0;
}
В этом примере оба объекта будут по 4 байта, за счет указателя на vtable, как я понял
Да, вы правы!
Удалить