Является ли это допустимым деструктором LinkedList? Я все еще смущен ими.
Я хочу убедиться, что правильно понимаю.
LinkedList::~LinkedList()
{
ListNode *ptr;
for (ptr = head; head; ptr = head)
{
head = head->next
delete ptr;
}
}
Итак, в начале цикла указатель ptr установлен для хранения адреса головы, первого node в списке. head затем устанавливается на следующий элемент, который станет началом списка после его первого удаления. ptr удаляется, и это первый node. При первой итерации цикла указатель снова будет нажат.
Вещь, которая меня интересует, достигает самого последнего node. Условие "голова"; должен проверить, что он не является нулевым, но я не уверен, что он будет работать.
Любая помощь была оценена.