¿Por qué el operador de asignación de copias debe devolver una referencia / referencia constante?
En C ++, el concepto de devolución de referencia del operador de asignación de copias no me resulta claro. ¿Por qué el operador de asignación de copias no puede devolver una copia del nuevo objeto? Además, si tengo claseA
y lo siguiente:
A a1(param);
A a2 = a1;
A a3;
a3 = a2; //<--- this is the problematic line
losoperator=
se define de la siguiente manera:
A A::operator=(const A& a)
{
if (this == &a)
{
return *this;
}
param = a.param;
return *this;
}