Move o operador de atribuição e `if (this! = & Rhs)`
No operador de atribuição de uma classe, você geralmente precisa verificar se o objeto que está sendo atribuído é o objeto de chamada para não estragar tudo:
Class& Class::operator=(const Class& rhs) {
if (this != &rhs) {
// do the assignment
}
return *this;
}
Você precisa da mesma coisa para o operador de atribuição de movimentação? Existe alguma situação em quethis == &rhs
seria verdade?
? Class::operator=(Class&& rhs) {
?
}