c – 交换容器中两个迭代器的位置

我想在容器中第一个和第二个交换两个迭代器的位置,并在操作后保持它们有效.此外,如果我有iterator其他指向相同的值,我想保持它也有效(保持它指向相同的值).是否可以使用任何STL容器实现? 最佳答案 std :: list允许您将一个列表的一个列表拼接成另一个列表(从第一个列表中删除它),而不会使任何迭代器,引用或指针无效,并且源列表和目标列表可以是同一个对象.

(这是根据C 11标准草案;我不知道C 03标准是否说同样的事情.)

点赞