Почему оператор копирования должен возвращать ссылку / постоянную ссылку?
В C ++ концепция возврата ссылки из оператора присваивания копии мне неясна. Почему оператор присваивания копии не может вернуть копию нового объекта? Кроме того, если у меня есть классA
и следующее:
A a1(param);
A a2 = a1;
A a3;
a3 = a2; //<--- this is the problematic line
operator=
определяется следующим образом:
A A::operator=(const A& a)
{
if (this == &a)
{
return *this;
}
param = a.param;
return *this;
}