Переместить оператор присваивания и `if (this! = & Rhs)`

В операторе присваивания класса вам обычно нужно проверить, является ли назначаемый объект вызывающим объектом, чтобы вы не облажались:

Class& Class::operator=(const Class& rhs) {
    if (this != &rhs) {
        // do the assignment
    }

    return *this;
}

Вам нужно то же самое для оператора присваивания перемещения? Была ли когда-нибудь ситуация, когда this == & rhs было бы правдой?

? Class::operator=(Class&& rhs) {
    ?
}
117
задан Seth Carnegie 27 April 2012 в 15:36
поделиться