shared_ptr 是一个共享所有权的智能指针,允许多个指针指向同一个对象。
shared_ptr
使用引用计数,每一个shared_ptr的拷贝都指向相同的内存。每使用它一次,内部的引用计数加1,每析构一次,内部的引用计数减1,减为0时,释放所指向的堆内存。shared_ptr内部的引用计数是安全的,但是在多线程时对象的读取需要加锁。
13.3.1 shared_ptr初始化
shared_ptr有如下三种初始化方式:文章来源:https://www.toymoban.com/news/detail-727403.html
- 裸指针直接初始化,但不能通过隐式转换来构造,因为shared_ptr构造函数被声明为explicit;
- 允许移动构造,也允许拷贝构造;
- 通过
make_shared
构造。
为了更好的了解智能指针,我们从最简单的例子内存申请开始,先看看下面的代码文章来源地址https://www.toymoban.com/news/detail-727403.html
#include <iostream>
#include <memory>
到了这里,关于C++智能指针shared_ptr使用详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!