除aary外,交换两个容器内容的操作保证会很快------元素本身并未被交换,swap只是交换了两个容器的内部数据结构。元素不会被移动的事实意味着,除string外,指向窗口的迭代器、引用和指针在swap操作之后都不会失效。它们仍指向swap操作之前所指向的那些元素,只是这些元素已经属于不同的容器了。与其它容器不同,对一个string调用swap会导致迭代器、引用和指针失效。
swap两个array会真正交换它们的元素,因此交换两个array所需的时间与array中元素的数目成正比;对于array,在swap操作之后,指针、引用和迭代所绑定的元素保持不变,但元素值已经与另一个array中对应元素的值进行了交换。
#include <algorithm>
#include <array>
using namespace std;
int main(