Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
孊ぶ Introduction to Unique Pointers | Unique Pointers
C++ Smart Pointers

Introduction to Unique Pointers

メニュヌを衚瀺するにはスワむプしおください

To create a std::unique_ptr you can use the std::make_unique. It is a function that provides a safe and efficient way to create unique pointers.

It's a great alternative to using the new/delete and new[]/delete[] operators, which can make code more susceptible to memory-related issues.

make_unique.h

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>>();

The std::make_unqiue allocates the dynamic resource and returns a unique pointer that owns it. When the unique pointer goes out of scope, the resource is automatically deallocated.

new_unique_ptr.h

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>());

The p_unique_vector vector in the above code will still be automatically destroyed when the unique pointer goes out of scope. However, for maximum exception safety and better code practices, always prefer using std::make_unique.

question mark

What is the main advantage of using std::make_unique over new when creating a std::unique_ptr?

正しい答えを遞んでください

すべお明確でしたか

どのように改善できたすか

フィヌドバックありがずうございたす

セクション 2. 章 1

AIに質問する

expand

AIに質問する

ChatGPT

䜕でも質問するか、提案された質問の1぀を詊しおチャットを始めおください

some-alt