Плюсы и минусы make_unique против прямого конструктора в C ++ 17 [закрыто]C++

Программы на C++. Форум разработчиков
Anonymous
Плюсы и минусы make_unique против прямого конструктора в C ++ 17 [закрыто]

Сообщение Anonymous »

Функция std :: make_shared () чаще всего предпочтительнее std :: shared_ptr {new t} , потому что она будет только одно распределение, в отличие от двух ассигнований во втором примере. Есть несколько других различий, как подробно описано в cppreference on std :: make_shared.
Насколько мне известно, дело отличается для std :: make_unique () vs. std :: inistry_ptr {new t} . Перед C ++ 17 нам нужны были функции Make _ для вывода аргументов шаблона, но, поскольку C ++ 17 компилятор может вывести их из оператора инициализации. Есть ли конкретный случай, для которого Make_unique предлагает преимущество (кроме вычета параметров шаблона в более ранних изданиях C ++)?

Подробнее здесь: https://stackoverflow.com/questions/797 ... all-in-c17

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