Что делает std::make_unique_for_overwrite() по сравнению с std::make_unique()?C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Что делает std::make_unique_for_overwrite() по сравнению с std::make_unique()?

Сообщение Гость »


Похоже, что в C++20 мы получаем некоторые дополнительные служебные функции для интеллектуальных указателей, в том числе:

template unique_ptr make_unique_for_overwrite(); шаблон unique_ptr make_unique_for_overwrite(size_t n); и то же самое для std::make_shared с std::shared_ptr. Почему нет существующих функций:

template unique_ptr make_unique(Args&&... args); // с пустыми аргументами template unique_ptr make_unique(size_t n); достаточно? Разве существующие из них не используют для объекта конструктор по умолчанию?

Примечание. В более ранних версиях этих функций имя было make_unique_default_init().
Ответить

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

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

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

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

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