Вступ до Унікальних Вказівників
Щоб створити 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.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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.
Дякуємо за ваш відгук!