Компиляция следующий классЧто такое «почти пустой» класс?
class Interface
{
virtual void doIt() = 0;
virtual ~Interface() = 0;
};
inline Interface::~Interface() {}
использованием gcc -fdump-class-hierarchy
.
gcc
излучает
Class Interface size=4 align=4 base size=4 base align=4 Interface (0x1a779c0) 0 nearly-empty vptr=((& Interface::_ZTV9Interface) + 8u)
Что такое значение "почти пустой"? Что это значит?
Не связано, но .. Не создавайте виртуальный деструктор как чистый виртуальный, как вы обеспечиваете реализацию. – Naveen
Я не думаю, что это особенно хороший совет. Чистые виртуальные деструкторы - это общая сокращенная версия, говорящая, что класс является абстрактным, и они должны иметь реализацию. – 2009-07-20 11:25:09
@Naveen: Почему бы и нет? Любая чистая виртуальная функция может иметь реализацию. – dalle