У вас утечка памяти, так как вы не делаете delete
всех узлов списка.Типичная реализация может быть такой:
For each node in the list
delete node;
Clear the entire list;
Кроме того,
У меня также сложилось впечатление, что мне нужно вызывать деконструктор во многих функциях LinkedList
Нет, вам не следует явно вызывать деструктор из любой из ваших функций.Он вызывается автоматически, когда объект выходит из области видимости или когда кто-то делает delete
из вашего списка.Это полностью зависит от кода, который использует ваш класс list
.Однако обратите внимание, что вы можете удалить один узел из списка в таких функциях, как erase
, но это не значит, что вам нужно вызывать деструктор списка.