Разве здесь не нужен модификатор const? [Дубликат]

На этот вопрос уже есть ответ здесь:

Как возвращаемый объект может быть назначен? 1 ответ

"Эффективный C ++«В пункте 3 написано« Используйте const всякий раз, когда это возможно », и он приводит пример:

const Rational operator*(const Rational& lhs, 
                            const Rational& rhs);

чтобы клиенты не могли совершать такие злодеяния:

Rational a, b, c;
...
(a * b) = c;   // invoke operator= on the result of a*b!

Но не является ли возвращаемое значение без ссылки на функции ужеRvalue? Так зачем же это делать?

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

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