std::make_unique
— удобная функция для создания std::unique_ptr
, обеспечивающая безопасность при исключениях и избегающая явного new
. Принимает аргументы конструктора объекта и возвращает
std::unique_ptr
.
struct Widget {
Widget(int x, int y) {}
};
// Создание unique_ptr с make_unique
auto ptr = std::make_unique<Widget>(10, 20);
Для массивов используетя перегрузка с
[]
:
auto arr = std::make_unique<int[]>(5); // Создает массив из 5 int
Предпочтительнее
new
+ unique_ptr
, так как исключает утечки при выбросе исключений.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7