algorithm swap函数用法
时间: 2023-06-26 11:06:49 浏览: 138
在 C++ 中,swap 函数是一个标准库函数,用于交换两个变量的值。其用法如下:
```c++
#include <utility> // 必要的头文件
std::swap(a, b); // 交换 a 和 b 的值
```
其中,a 和 b 分别为需要交换的两个变量。
需要注意的是,swap 函数只适用于支持拷贝构造函数的类型。如果想要交换自定义类型的对象,需要确保该类型实现了拷贝构造函数和拷贝赋值运算符。若未实现,则需要手动编写交换函数。例如:
```c++
struct MyStruct {
int x;
double y;
// 自定义拷贝构造函数
MyStruct(const MyStruct& other) {
x = other.x;
y = other.y;
}
// 自定义拷贝赋值运算符
MyStruct& operator=(const MyStruct& other) {
x = other.x;
y = other.y;
return *this;
}
};
// 自定义交换函数
void mySwap(MyStruct& a, MyStruct& b) {
MyStruct temp = a;
a = b;
b = temp;
}
int main() {
MyStruct a{1, 2.0};
MyStruct b{3, 4.0};
mySwap(a, b); // 使用自定义的交换函数
// 现在 a 的值为 {3, 4.0},b 的值为 {1, 2.0}
}
```
阅读全文