C++ Пример использования деструктора

176
29 марта 2019, 21:50

Если я создаю обьект класса:

Object* object = new Object();

и дальше вызываю

delete object;

объект удаляется. В класса Object нету деструктора. В чем смысл деструкторов? Где их нужно применять?

Answer 1

В классе нет определенного вами деструктора. Значит, есть деструктор, сгенерированный компилятором - возможно, даже ничего не делающий.

Смысл деструктора - выполнение некоторых действий, которые нужно сделать при уничтожении объекта. Например, если объект связан с файлом - закрыть файл. Если выделялась какая-то память - освободить ее. Словом, в основном "положь, где взял" - некоторые действия по прибиранию за собой.

Применять их обычно самостоятельно не нужно. Для того он и пишется, чтобы быть вызванным автоматически, когда переменная выходит за пределы области видимости или когда динамически созданный объект уничтожается с помощью delete.

READ ALSO
Алгоритм обхода объектов

Алгоритм обхода объектов

Прошу помощи с выбором алгоритма для решения задачи, мне необходим только алгоритм

183
Скорость переадресации функций

Скорость переадресации функций

Что лучше в плане быстродействия: вызывать члены класса, наследованные из другого класса, или вызывать члены класса, полученные из хранящегося...

181
Найти все простые числа в диапазоне [A; B]

Найти все простые числа в диапазоне [A; B]

Найти все простые числа в диапазоне от А до В (1 <= A <= B <= 10^12 ), при условии, что В - А >= 10 ^ 6Уже 4 день ломаю над этим голову

232
Шифр Виженера(не работает)

Шифр Виженера(не работает)

решил сделать сам Шифратор/Дешифратор Виженера, но столкнулся с какой-то не понятной проблемой:

158