注意:C++11后的std::swap模板函数,使用了移动构造函数和移动赋值函数。所以。对于pimpl手法的内置类型,有移动构造函数和移动赋值函数应该不用写std::swap的特化,当然写了更好。
template<class _Ty> inline void swap(_Ty& _Left, _Ty& _Right) _NOEXCEPT_OP(is_nothrow_move_constructible<_Ty>::value && is_nothrow_move_assignable<_Ty>::value) { // exchange values stored at _Left and _Right _Ty _Tmp = _Move(_Left); _Left = _Move(_Right); _Right = _Move(_Tmp); }
************
标签:25,Right,函数,Ty,Move,swap,条款,Left From: https://www.cnblogs.com/htj10/p/16791183.html