Это пример попытки оптимизировать код на с ++. Я сделал это, все сделали это ...
Стоит отметить, что это классический пример, который имеет право на оптимизацию возвращаемого значения.
Как сказал ttvd, правильный ответ - вернуть const std :: string, а не ссылку на него, и позволить компилятору оптимизировать его.
Если вы доверяете переводчику вашего любимого языка для оптимизации позади вас, вы не должны пытаться быть слишком умным с C ++.