背景:在刷题代码随想录时发现参考代码使用了swap函数,但是是用来交换一个vector容器中的两个元素的;但是我依稀记得标准模板库中vector函数自带的swap函数是用来交换两个容器内所有的元素的;
一、STL中的swap()函数:
注意:这是头文件<algorithm>中包含的函数,他是配合容器来使用的
- 功能描述:互换两个容器的元素
- 函数原型1:swap(container c1, container c2)
- 函数原型2:container c1.swap(container c2)
- 参数:容器1的名字 + 容器2的名字
- 作用方式:函数swap()真正的作用,其实并没有对内存动手脚,就是把v1和v2这两个容器名的指向换了一下
- 补充说明:swap()有一个很实用的功能,但是需要其他函数的辅助,这个功能是【收缩内存】,具体提及这个功能在【202_36_vector容器_互换容器】这一节内
二、std::swap()函数:
注意:在题目