How to use make_shared () to build a shared shared_ptr in C++
This article shows you how to use make_shared () to build a shared shared_ptr in C++. The content is concise and easy to understand. It will definitely brighten your eyes. I hope you can get something through the detailed introduction of this article.
Reason (reason)
If you first make an object and then give it to a shared_ptr constructor, you (most likely) do one more allocation (and later deallocation) than if you use make_shared () because the reference counts must be allocated separately from the object.
If you first build an object and then give it to the constructor of shared_ptr, you (most likely) perform one more allocation action (and a release action that will occur) than if you use make_shared. Because the allocation of the reference count (here should be the shared_ptr object) must be done separately from the allocation of the object.
Example (sample)
Consider (consider the following code):
Shared_ptr p1 {new X {2}}; / / bad
Auto p = make_shared (2); / / good
The make_shared () version mentions X only once, so it is usually shorter (as well as faster) than the version with the explicit new.
The make_shared approach uses the X object only once, so it is usually shorter (and more efficient) than the code that explicitly calls new.
The above is how to use make_shared () to build a shared shared_ptr in C++. Have you learned any knowledge or skills? If you want to learn more skills or enrich your knowledge reserve, you are welcome to follow the industry information channel.