Цель возврата по постоянному значению? [Дубликат]

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

Каковы варианты использования функции возврата по константному значению для не встроенного типа? 3 ответа

Какова цель const в этом?

const Object myFunc(){
    return myObject;
}

Я только начал читать Effective C ++, и статья 3 поддерживает это, и поиск в Google выбирает аналогичные предложения, но также и контрпримеры. Я не понимаю, как использование const здесь было бы предпочтительнее. Предполагая, что возврат по значению желателен, я не вижу причин для защиты возвращаемого значения. Приведенный пример того, почему это может быть полезным, предотвращает непреднамеренное приведение bool возвращаемого значения. Тогда реальная проблема заключается в том, что неявное приведение типа bool должно быть предотвращено с помощью явного ключевого слова.

Использование const здесь предотвращает использование временных объектов без присваивания. Поэтому я не мог выполнять арифметические выражения с этими объектами. Не похоже, что когда-либо бывает полезен безымянный const.

Что получается при использовании const здесь и когда это будет предпочтительнее?

РЕДАКТИРОВАТЬ: Изменить арифметический пример на любую функцию, которая изменяет объект, который вы, возможно, захотите выполнить перед назначением.

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

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