“swap 只是交换了两个容器的内部数据结构”是什么意思?

《C++ Primer》第五版,中文版。303 页。《C++ Primer》第五版,中文版。303 页。

看你的上下文。一般来说,这个说的是swap只是浅数据交换,不会递归交换数据结构里面的字段和其中的东西。

类似于交换两个指针的值。

这个要看你的容器中保存的是什么类型的数据~

赋值相关运算会导致指向左边容器内部的迭代器,引用和指针失效。而swap操作将容器内容交换不会导致指向容器的迭代器,引用和指针失效。
swap只是交换了两个容器的内部数据结构除了array外
对一个string调用swap会导致迭代器,引用和指针失效