Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

How to use C++ Smart pointer unique_ptr

Shulou Source: shulou.com Published: 2022-05-31 14:04:36 09月30日 Update

This article introduces the knowledge of "how to use C++ smart pointer unique_ptr". In the operation of practical cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!

Unique_ptr is an exclusive smart pointer. It does not allow other smart pointers to share its internal pointers or assign one unique_ptr to another unique_ptr through assignment, as shown in the following misuse:

Std::unique_ptr myPtr (new T); std::unique_ptr myOtherPtr = myPtr; / / error

But unique_ptr allows you to return to other unique_ptr through functions, and you can also transfer to other unique_ptr through std::move, note that it no longer owns the original pointer. Compared to auto_ptr, unique_ptr is a transfer of display, not an inexplicable scrap, because after auto_ptr calls the copy constructor, the original object is invalidated.

Std::unique_ptr myPtr (new T); std::unique_ptr myOtherPtr = std::move (myPtr); / / ok

It is enough to use std::unique_ptr for general programs. If it is multithreading, there may be a problem of common use. You can use std::shared_ptr and be careful not to cause circular references.

This is the end of the content of "how to use C++ Smart pointer unique_ptr". Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!

Tags: Pointers intelligence cantilever content functions more knowledge practical inexplicable successful learning and then can pass dilemma reality object situation ownership copy article aspect Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Huawei Redmi MariaDB Apple Shulou Information