Вступ до Унікальних Вказівників
Щоб створити std::unique_ptr
, ви можете використовувати std::make_unique
. Це функція, яка забезпечує безпечний та ефективний спосіб створення унікальних вказівників.
Це чудова альтернатива використанню операторів new/delete
та new[]/delete[]
, які можуть зробити код більш вразливим до проблем, пов'язаних з пам'яттю.
make_unique
// Using `std::make_unique` to create a unique pointer to a vector of integers std::unique_ptr<std::vector<int>> p_unique_vector = std::make_unique<std::vector<int>>();
std::make_unqiue
виділяє динамічний ресурс і повертає унікальний вказівник, який ним володіє. Коли унікальний вказівник виходить за межі області видимості, ресурс автоматично звільняється.
new_unique_ptr
// Insecure way to create a unique pointer for a vector of integers. std::unique_ptr<std::vector<int>> p_unique_vector(new std::vector<int>());
Вектор p_unique_vector
у наведеному вище коді все ще буде автоматично знищено, коли унікальний вказівник виходить за межі області видимості. Однак, для максимальної безпеки від винятків і кращих практик коду, завжди віддавайте перевагу використанню std::make_unique
.
Дякуємо за ваш відгук!