Это на самом деле неверно. Это не мешает людям использовать его как lvalue. Это мешает людям использовать его как неконстантный объект. Это две совершенно разные вещи.

но я прочитал, что при возврате по значению из функции имеет смысл квалифицировать возвращаемый тип const для не встроенных типов, например:

const Result operation() {
    //..do something..
    return Result(..);
}

Я изо всех сил пытаюсь понять преимущества этого, после того, как объект был возвращен, конечно, это выбор вызывающей стороны, чтобы решить, должен ли возвращаемый объект быть const?

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

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