Является ли специализация std :: swap устаревшей, когда у нас есть семантика перемещения? [Дубликат]
Возможный дубликат:
Переместить семантику == пользовательская функция подкачки устарела?
Вот какstd::swap
выглядит как в C ++ 11:
template<typename T>
void swap(T& x, T& y)
{
T z = std::move(x);
x = std::move(y);
y = std::move(z);
}
Нужно ли еще специализироватьсяstd::swap
для моих собственных типов, или будетstd::swap
быть настолько эффективным, насколько это возможно, при условии, что мой класс, конечно, определяет конструктор перемещения и оператор присваивания перемещения?