目录
std::unique_ptr - 唯一智能指针 - 唯一指针指向唯一内存
std::shared_ptr - 共享智能指针 - 不支持数组
std::unique_ptr - 唯一智能指针 - 唯一指针指向唯一内存
声明: std::unique_ptr<类型> 变量名称{}; std::make_unique 申请类型地址空间
reset 释放指针内存空间
release 使指针指向nullptr , 返回该指针指向的实际地址
get 返回原始指针类型的指针
move ,唯一指针指针无法复制
std::unique_ptr<int[]> ptrA{ new int[5]{1,2,3,4,5} };
std::unique_ptr<int[]> ptrB = std::move(ptrA);将 ptrA的复制给ptrB,同时ptrA指向地址置空
std::shared_ptr - 共享智能指针 - 不支持数组
可以有多个std::shared_ptr 指向同一地址,同一地址下只有当最后一个 std::shared_ptr释放的时候,才会释放其所占用的内存空间
std::shared_ptr 会记录当前地址有多少个智能指针调用
调用 use_count(),返回有多少个std::shared_ptr 指针对象指向该对象指向的地址
reset(),将该地址指向地址置空,如果该对象是最后一个指向该地址的对象则释放地址