移动赋值运算符和`if(this!=&rhs)`
在类的赋值运算符中,通常需要检查所分配的对象是否是调用对象,这样就不会搞砸了:
Class& Class::operator=(const Class& rhs) { if (this != &rhs) { // do the assignment } return *this;}
移动赋值运算符需要相同的东西吗?是否有过这样的情况this == &rhs?
this == &rhs
? Class::operator=(Class&& rhs) { ?}
相关分类