Можно создать дубликат: C++: Life span of temporary arguments? Говорят, что временные переменные уничтожаются в качестве последней стадии при оценке полный экспрессии, например bar(foo().c_str());
в
Следующий код работает нормально, но почему этот правильный код? Почему указатель «c_str()» временного значения, возвращаемого функцией foo(), действителен? Я подумал, что это временное уже уничтожено