Возможный дубликат:
Переместить семантику == пользовательская функция свопинга устарела?
Вот как выглядит std::swap
в С++ 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
быть таким же эффективным, как и он, при условии, что мой класс определяет конструктор перемещения и оператор назначения перемещения, конечно?