> -- budden писал(а):
> ...
> -- Валерий Лаптев писал(а):
> ...
Нисколько не умаляя необходимости документирования/комментирования исходников...
Но, вы знаете, тот случай заставил полностью пересмотреть мой подход к проектированию "базисных алгоритмов и структур данных" в подобного рода проектах.
Для меня (лично для меня) наиболее приемлемым решением стала "параметризация через конструктор/инициализатор".
То есть, подобного рода поведение обобщено и настраивается через аргументы инициализирующего алгоритма.
Обычно туда включается два флага по разобранному случаю и флаг "владения" элементами, ЕСЛИ "элементы поддержки связности списка" являются частью структур данных, сохраняемых в списке.
Когда же связность (пресловутые поля prev/next) не входят в структуру данных, то есть ещё флаг, показывающий, берутся ли "объекты связности" из кучи или пула "объектов связности" (для эмбеддинга, часто, надо ОЧЕНЬ тонкие настройки с данными производить).