В операторе присваивания класса вам обычно нужно проверить, является ли назначаемый объект вызывающим объектом, чтобы вы не облажались:
Class& Class::operator=(const Class& rhs) {
if (this != &rhs) {
// do the assignment
}
return *this;
}
Вам нужно то же самое для оператора присваивания перемещения? Была ли когда-нибудь ситуация, когда this == & rhs
было бы правдой?
? Class::operator=(Class&& rhs) {
?
}