Возвращение временного объекта и привязки к константуC++

Программы на C++. Форум разработчиков
Anonymous
Возвращение временного объекта и привязки к константу

Сообщение Anonymous »

Мой компилятор не жалуется на назначение временного для справки: < /p>

Код: Выделить всё

string foo() {
return string("123");
};

int main() {
const string& val = foo();
printf("%s\n", val.c_str());
return 0;
}
< /code>
Почему? Я думал, что строка, возвращаемая из Foo 
, является временной, и VAL может указывать на то, что Lifetime завершилась. Разрешает ли стандарт C ++ и продлевает срок службы возвращаемого объекта?

Подробнее здесь: https://stackoverflow.com/questions/115 ... -reference

Вернуться в «C++»