swap用于交换两个元素的值
template<class T>
void swap(T &a,T &b)
{
T c(a);
a=b;
b=c;
}
例如交换两个int型变量的值:
#include <iostream>
using namespace std;
int main() {
int a=1,b=2;
swap(a,b);
cout<<a<<" "<<b<<endl; // 2 1
return 0;
}
交换两个字符串:
#include <iostream>
#include<string>
using namespace std;
int main() {
string a="a",b="b";
swap(a,b);
cout<<a<<" "<<b<<endl; // b a
return 0;
}