Предположим, у меня есть список, в котором новые узлы не добавляются и не удаляются. Однако узлы могут перемещаться вокруг.Безопасный для хранения списка :: итератор для последующего использования?
Безопасно ли сохранить итератор, указывая на узел в списке и получить к нему какое-либо произвольное позднее время?
Редактировать (последующий вопрос): Документация для списка :: splice() говорит, что она удаляет элементы из списка аргументов. Означает ли это, что если я вызываю сплайсинг, используя тот же список, что и аргументы функции, существующие итераторы будут аннулированы?
Нет гарантии, что итератор является указателем. На самом деле вы, вероятно, можете предоставить, что std :: list <> :: iterator не является указателем, поскольку он должен выполнять интеллектуальную обработку для всех операций итератора (например, ++) –