Classes and class hierarchies
C.63
Сделайте присваивание перемещения не-`virtual`, примите параметр по `&&` и вернитесь по не-`const&`
Причина
Это просто и эффективно.
См.: Правило для присваивания копирования.
Применение
Эквивалентно тому, что сделано для присваивания копирования.
- (Simple) Оператор присваивания не должен быть virtual. Здесь драконы!
- (Simple) Оператор присваивания должен возвращать
T&для включения связывания, а не альтернативы, такие какconst T&, которые мешают композируемости и помещению объектов в контейнеры. - (Moderate) Оператор присваивания перемещения должен (неявно или явно) вызывать все операторы присваивания перемещения базовых классов и членов.