Вход
Быстрая регистрация
Если вы у нас впервые: О проекте FAQ
0

Что такое деструктор в программировании?

SeaMan75 [10.3K] более месяца назад
1

Деструктор - это "напарник" конструктора. Когда необходимо создать объект определенного класса, вызывается конструктор. В конструкторе происходит инициализация объекта. Для хранения данных обюъекта и его методов опреационной системе необходимо выделить память. А вот, когда объект не нужен, его необходимо будет убрать из памяти, чтобы не образовалось утечек памяти! Вот для уничтожения объекта и вызывается деструктор. В некоторых языках программирования деструктор вызывается автоматически. В фоновом режиме работает так называемый "уборщик мусора". Этот уборщик уничтожает ненужные объекты. Ненужность объекта уборщик мусора определяет по количеству ссылок на объект. Если ссылок на объект нет, объект можно удалить. Уборщики мусора активно работают в Java и C#. В C++ деструктор придется вызывать, так как автоматического сборщика мусора в этом языке нет. Если деструктор не вызывать, то ничего страшного не случиться только до поры до времени. Например, если некий объект определенного класса работает со структурами данных, которые в совокупности занимают несколько мегабайт. И если, например, создать несколько объектов данного класса, а потом не вызвать деструктор, то утечки памяти в несколько десятов или сотен мегабайт будут гарантированы!

1

Если в двух словах то это: специальный метод, служащий для освобождения памяти объекта.

Знаете ответ?
Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее..
Быстрая регистрация
OpenID