присваивание и перемещение себя
От: _NN_ www.nemerleweb.com
Дата: 09.04.19 22:05
Оценка: 2 (1)
Есть известный паттерн проверки присваивания и перемещения объекта себе:
operator=(A const& a) { if (this == &a) return *this; ...

operator=(A&& a) { if (this == &a) return *this; ...


Рекомендации от CppCoreGuidelines советуют не проверять, однако код при этом должен работать как ожидается
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c62-make-copy-assignment-safe-for-self-assignment
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c64-a-move-operation-should-move-and-leave-its-source-in-a-valid-state

А что делаете сегодня вы ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Отредактировано 10.04.2019 13:42 _NN_ . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.