Какое обоснование типов контейнеров в ЗППП определяет их собственную функцию свопа, даже если их эмантитика была правильC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Какое обоснование типов контейнеров в ЗППП определяет их собственную функцию свопа, даже если их эмантитика была правиль

Сообщение Anonymous »

Ниже является наиболее распространенной реализацией std :: swap :

Код: Выделить всё

template
void std::swap(T& a, T& b) {
auto tmp = std::move(a);
a        = std::move(b);
b        = std::move(tmp);
}
Стандарт C ++ требует сложности времени std :: swap должен быть постоянным. Таким образом, если тип контейнера, такой как std :: vector , std :: list и т.п., правильно реализовал свой hove-ctor & oppendment-operator ; Затем, кажется, не необходимо определить функцию члена SWAP для типа. Я думаю, что за дизайном должно быть конкретное обоснование, что это?

Подробнее здесь: https://stackoverflow.com/questions/796 ... -swap-func
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»