How to use C++ Smart pointer unique_ptr
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!