前面的文章已经提出了一个关键点,两个unique_ptr
智能指针之间无法进行值传递,但是明显很多时候需要多个指针管理同一个内存。这个时候shared_ptr
就应运而生了。
每种智能指针都是以类模板的方式实现的,shared_ptr
也不例外。shared_ptr<T>
(其中 T
表示指针指向的具体数据类型)的定义位于<memory>头文件,并位于 std 命名空间中。
所以需要在使用前包含:
#include <memory>
1、shared_ptr的初始化
a. 通过如下 2 种方式,可以构造出 shared_ptr 类型的空智能指针:
std::shared_ptr<int> p1; //不传入任何实参
std::</