How does C++ use unique_ptr or shared_ptr to express ownership
This article introduces the relevant knowledge of "how to use unique_ptr or shared_ptr to express ownership in C++". In the operation process of actual cases, many people will encounter such difficulties. Next, let Xiaobian lead you to learn how to deal with these situations! I hope you can read carefully and learn something!
R.20: Use unique_ptr or shared_ptr to indicate ownership
Reason
Use them to prevent resource leakage.
Example
Consider:
void f()
{
X x;
X* p1 { new X }; // see also ???
unique_ptr p2 { new X }; // unique ownership; see also ???
shared_ptr p3 { new X }; // shared ownership; see also ???
auto p4 = make_unique(); // unique_ownership, preferable to the explicit use "new"
auto p5 = make_shared(); // shared ownership, preferable to the explicit use "new"
}
(Only) the object used to initialize p1 in this code will leak.
Enforcement
(Simple) Warns if the return value of a new operation or function call that returns a pointer type is assigned to a primitive pointer.
"C++ how to use unique_ptr or shared_ptr ownership" content is introduced here, thank you for reading. If you want to know more about industry-related knowledge, you can pay attention to the website. Xiaobian will output more high-quality practical articles for everyone!