Какова цель const в этом?
const Object myFunc(){
return myObject;
}
Я только начал читать «Эффективный C++», и пункт 3 поддерживает это, а поиск в Google находит похожие предложения, но также и контрпримеры. Я не понимаю, как использование const здесь было бы предпочтительнее. Предполагая, что возврат по значению желателен, я не вижу причин защищать возвращаемое значение. Пример, приведенный для того, почему это может быть полезно, - это предотвращение непреднамеренного логического приведения возвращаемого значения. Реальная проблема заключается в том, что неявное приведение типа bool должно быть предотвращено с помощью ключевого слова manifest.
Использование const здесь предотвращает использование временных объектов без назначения. Поэтому я не мог выполнять арифметические выражения с этими объектами. Не похоже, чтобы когда-либо была полезна безымянная константа.
Что дает здесь использование const и когда это предпочтительнее?
РЕДАКТИРОВАТЬ: измените арифметический пример на любую функцию, которая изменяет объект, который вы, возможно, захотите выполнить перед назначением.