Я запутался, гарантированно ли в следующем фрагменте foo
действительность, т. е. разрешено ли мне хранить возвращаемые значения функции в виде константных ссылок?
Я спрашиваю, потому что возвращаемое значение хранится в кадре стека, что может быть недействительным вскоре после того, как значение было возвращено.
Foo getFoo() {
return Foo();
}
void bar() {
const auto& foo = getFoo();
// more function calls...
// is foo guaranteed to be valid?
}