Почему оператор копирования должен возвращать ссылку / постоянную ссылку?

В 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;
}

Ответы на вопрос(6)

Ваш ответ на вопрос