Является ли специализация 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&nbsp;для моих собственных типов, или будетstd::swap&nbsp;быть настолько эффективным, насколько это возможно, при условии, что мой класс, конечно, определяет конструктор перемещения и оператор присваивания перемещения?