首先说下标准库的swap算法: namespace std{ template<typename T> void swap(T & a, T & b) { T tmp = a; a = b; b = tmp; } } 显然的,标准库实在是索然无味,自己随便写都能写出来,而且这样写有时候对于某些来说效率是特别低的.看看下面这个这个例子: class WidgetImpl{ public: ... private: int a, b, c; std::vector<doubl…
我们可以调用std下的swap函数,这是一个模板函数:既可以: ; ; std::swap(a,b); cout<<"a = "<<a<<" b = "<<b<<endl; 也可以(前提这个类型支持复制构造函数和赋值构造函数): class Test { public: Test(int i):val(i){} int getVal(){return val;} private: int val; }; T…