Здравствуйте, Codealot, Вы писали:
S>>Правда, в случае C/C++/Rust для списков (особенно интрузивных) применимость может быть найдена, и как раз об этом было бы интересно побеседовать.
C>Вместо rope? А зачем?
Про rope я наслышан только в контексте строк (т.е. последовательностей байт или символов). Тогда как связный список иногда может рассматриваться как замена контейнерам вроде vector или deque для любых T. Применительно к языкам вроде C++ у связных списков есть такие достоинства как:
— ссылки на содержимое не инвалидируются при модификации контейнера;
— в случае интрузивных списков и использования преаллоцированных элементов списка можно делать операции вставки в контейнер действительно noexcept.
Так же списки позволяют собирать в контейнер объекты, которые в принципе не Copyable и не Moveable. Тут, правда, все равно остается вопрос о том, на не будет ли vector<unique_ptr<T>> эффективнее, чем list<T>. Но это уже от условий зависит.
В общем, интрузивный список где-то раз в год, раз в полгода приходится применять.