Функция 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
Плюсы и минусы make_unique против прямого конструктора в C ++ 17 [закрыто] ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Каковы плюсы и минусы шаблона или динамического создания объекта в С++? [закрыто]
Anonymous » » в форуме C++ - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-