Возвращение временного объекта и привязки к константу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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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