Предположим, у меня есть функция, которая будет возвращать большую структуру данных с намерением, чтобы вызывающая сторона немедленно скопировала возвращаемое значение:
Large large()
{
return Large();
}
Теперь предположим, что я не хочу полагаться на какие-либоОптимизация компилятора, такая как оптимизация возвращаемого значения и т. д. Также предположим, что я не могу полагаться на конструктор перемещения C ++ 11.Я хотел бы собрать некоторые мнения о «правильности» следующего кода:
const Large& large()
{
static Large large;
large = Large();
return large;
}
Он должен работать как задумано, но это плохой стиль, чтобы возвращать ссылку на статический локальный, даже если это constквалифицированный