c++的vector的swap
时间: 2023-10-15 17:23:31 浏览: 73
C++中的std::vector类有一个成员函数叫做`swap()`,可以用来交换两个vector对象的内容。这个函数的原型如下:
```cpp
void swap(vector<T>& other);
```
其中,`T`是vector中存储的元素类型。你可以通过调用这个成员函数来实现vector的交换操作。下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec1 = {1, 2, 3};
std::vector<int> vec2 = {4, 5, 6};
// 打印交换前的vector内容
std::cout << "vec1: ";
for (int i : vec1) {
std::cout << i << " ";
}
std::cout << std::endl;
std::cout << "vec2: ";
for (int i : vec2) {
std::cout << i << " ";
}
std::cout << std::endl;
// 交换vec1和vec2的内容
vec1.swap(vec2);
// 打印交换后的vector内容
std::cout << "vec1: ";
for (int i : vec1) {
std::cout << i << " ";
}
std::cout << std::endl;
std::cout << "vec2: ";
for (int i : vec2) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
这段代码中,我们创建了两个vector对象`vec1`和`vec2`,分别进行了初始化。然后,调用`vec1`的`swap()`函数,传入`vec2`作为参数,实现了两个vector的交换。最后,打印交换前后的vector内容,观察交换是否成功。
输出结果为:
```
vec1: 1 2 3
vec2: 4 5 6
vec1: 4 5 6
vec2: 1 2 3
```
可以看到,`vec1`和`vec2`的内容成功地进行了交换。
阅读全文