Вопросы к Поиску с Алисой
Деструктор автоматически вызывается при завершении времени жизни объекта, потому что это необходимо для освобождения ресурсов, которые были захвачены либо в конструкторе класса, либо на протяжении жизни объекта. bdpx.github.io
Например, деструктор может освободить замок или память, выделенную оператором new. bdpx.github.io Также он может реализовать любую операцию, которая по замыслу проектировщика класса должна быть выполнена сразу по окончании использования объекта. bdpx.github.io
Кроме того, для обычных переменных компилятор автоматически вызывает деструкторы, когда эти переменные выходят из своей области видимости. education.yandex.ru