Вступ до Унікальних Вказівників
Щоб створити std::unique_ptr
, ви можете використовувати std::make_unique
. Це функція, яка забезпечує безпечний та ефективний спосіб створення унікальних вказівників.
Це чудова альтернатива використанню операторів new/delete
та new[]/delete[]
, які можуть зробити код більш вразливим до проблем, пов'язаних з пам'яттю.
make_unique.h
12// 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.h
12// 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
.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
What is the difference between std::unique_ptr and std::shared_ptr?
Can you show an example of how to use std::make_unique?
Why is std::make_unique preferred over using new/delete directly?
Awesome!
Completion rate improved to 5.56
Вступ до Унікальних Вказівників
Свайпніть щоб показати меню
Щоб створити std::unique_ptr
, ви можете використовувати std::make_unique
. Це функція, яка забезпечує безпечний та ефективний спосіб створення унікальних вказівників.
Це чудова альтернатива використанню операторів new/delete
та new[]/delete[]
, які можуть зробити код більш вразливим до проблем, пов'язаних з пам'яттю.
make_unique.h
12// 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.h
12// 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
.
Дякуємо за ваш відгук!