Вопросы по теме 'virtual-destructor'

Нужен ли виртуальный деструктор для вашего интерфейса, если вы всегда храните его в shared_ptr?
Поскольку boost::/std::shared_ptr имеет преимущество удаления типа удаления, вы можете делать такие приятные вещи, как #include <memory> typedef std::shared_ptr<void> gc_ptr; int main(){ gc_ptr p1 = new int(42); gc_ptr p2 = new...
1200 просмотров

Что это за сообщение об ошибке о неявно удаленных виртуальных деструкторах?
Я только что обновил GCC с (кажется) 4.5.6 до 4.6.1, под Windows, MinGW. Внезапно мой базовый класс NonInstantiable (от которого вы наследуете с общедоступным виртуальным, чтобы предотвратить создание экземпляра) отказывается работать со следующими и...
14870 просмотров
schedule 28.12.2023

Как правильно наследоваться от базового класса, деструктор которого не является виртуальным?
Я хочу наследовать класс A, но деструктор A не является виртуальным, и я не могу изменить определение A. Как избежать следующего случая? struct A { A() : a(new char[8]) {} ~A() { delete[] a; } char* a; }...
128 просмотров
schedule 15.12.2023