Информация об изменениях

Сообщение Re: Время жизни временных объектов от 07.04.2021 9:31

Изменено 07.04.2021 9:33 Videoman

Re: Время жизни временных объектов
Здравствуйте, 10000.monkeys, Вы писали:

1M>Поправьте если не прав.

Не прав. Вот тут:
return std::make_unique<test>(s);

из s создается временный std::string который благополучно умирает при возврате std::unique_ptr<test>.

Замени const std::string& s на std::string s
Re: Время жизни временных объектов
Здравствуйте, 10000.monkeys, Вы писали:

1M>Поправьте если не прав.

Не прав. Вот тут:
return std::make_unique<test>(s);

из s создается временный std::string который благополучно умирает при возврате std::unique_ptr<test>.

Замени const std::string& s на std::string s

P.S.

Если ты где-то начитался что const ссылка продлевает время жизни объекта, то это совсем не тот случай. const ссылка будет оставаться валидной только при возврате объекта из функции по значению.