чтобы передавать ранее объявленную строковую переменную, я в function call statement непосредственно конструирую строку: string("something"), т.е. передаю это в качестве аргумента. Вопрос - что происходит с памятью под эту строку? Каково время жизни этого объекта?
Создаётся временный объект std::string , кстати, независимо от наличия явного преобразования, вызывается функция, затем после вызова по ; временный объект уничтожиться
Эквивалентно { string temp("bla"); foo(temp); }
Обсуждают сегодня