Класс C ++ в стиле RAII для узлов связанного списка

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

Примеры, на которые я смотрю вКрекинг Интервью Кодирования В книге нет класса LinkedList (manager), только узлы, и вы держитесь за головной узел в своей основной функции.

Я искал реализации C ++, но большинство, кажется, больше в стиле C, чем в C ++, то есть не объектно-ориентировано. Они используют структуры, не используют классы и имеют статический метод для удаления списка, который нужно явно помнить для вызова. Я хотел написать разумный класс C ++ в стиле RAII (Resource Acquisition Is Initialization) с разумными деструкторами для обработки освобождения памяти, и я хотел использовать только класс Node (без класса LinkedList).

Единственный способ, которым я видел эту работу, состоял в том, чтобы деструктор Node удалял следующий Node, если он был, но я читал, что этот вид рекурсивного удаления является плохой идеей, потому что в итоге вы создаете тот же самый стек вызовов длина как связанный список.

Итак, подведем итог моего вопроса:

If writing an object-oriented class to handle linked lists in C++, do you have to have a LinkedList (manager) class which handles the deletion of the list nodes in its destructor? If not, how would you deal with destruction of Nodes?

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос