我一直在阅读很多内容,如果您需要赋值运算符,则不要使用引用成员变量。我知道您不能重新分配引用,但由于您无法重新分配引用本身,因此您不能通过在赋值运算符中重新分配该引用变量中的所有数据来解决这个问题吗?
像这样的东西:
class MyClass {
AnotherClass& someObject;
...
public:
...
MyClass& operator= (const MyClass& that) {
if (&that != this) {
this.someObject.member1 = that.someObject.member1;
this.someObject.member2 = that.someObject.member2;
}
return *this;
}
}
这是否有问题,或者尝试以这种方式进行分配可能会出现问题?