Возможный дубликат:
С++: продолжительность временных аргументов?
Говорят, что временные переменные уничтожаются как последний шаг при оценке полного выражения, например.
bar( foo().c_str() );
временный указатель живет до тех пор, пока не вернется панель, но что для
baz( bar( foo().c_str() ) );
он до сих пор живет до тех пор, пока не вернется барабан, или baz return означает конец полного выражения здесь, компиляторы Я проверил объекты dest после возврата baz, но могу ли я на это положиться?