我试图为包含另一个类的另一个引用(我们将称为A)的类(我们将称之为B)做一个move操作符,该类的复制构造函数已经被隐式删除,因为它包含另一个引用。下面是一个简单的例子。type 'B' cannot be assigned because its copy assignment operator is implicitly deleted b = other.b;1)为什么在B中删除隐式复制赋值操作符?甚至是A?
2)如果B有一个复制构造函数或操
(see below)
对于最后一条语句,赋值操作符的结果实际上用于初始化一个非const引用,该引用将在语句之后立即失效:引用不能直接绑定到临时对象(不能作为临时对象绑定到const或rvalue引用另一个问题是,赋值运算符返回的lvalue看起来不像是可以移动的,尽管它实际上是指临时的。如果有任何东西使用赋值的结果来获取值,那么它将被复制而不是移动,尽管移动是完全可行的。在这一