Описание тега destructor
В объектно-ориентированном программировании деструктор (иногда сокращенный до dtor) - это метод, который автоматически вызывается при уничтожении объекта. Это может произойти, когда его время жизни привязано к области видимости, а выполнение покидает область действия, когда он встроен в другой объект, время жизни которого заканчивается, или когда он был выделен динамически и явно освобожден. Его основная цель - освободить ресурсы (выделение памяти, открытые файлы или сокеты, соединения с базой данных, блокировки ресурсов и т. Д.), Которые были получены объектом в течение его жизненного цикла, и / или отменить регистрацию у других сущностей, которые могут сохранять ссылки на него.
В C++ деструктор (~Class
) является ядром реализации RAII, поскольку он гарантированно будет выполняться как во время "нормального" возврата, так и при возникновении исключения (во время раскрутки стека).