Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

How does C++ use unique_ptr or shared_ptr to express ownership

Shulou Source: shulou.com Published: 2022-06-01 19:24:51 10月06日 Update

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!

Tags: Ownership Clearing code content pointers more knowledge primitive practical learned and then functions reasons only dilemmas reality objects suggestions situations articles Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Xiaomi Shulou Information Redmi OPPO Reno MariaDB