title: c++智能指针
c++智能指针
shared_ptr<T>
make_shared进行创建对象,
shared_ptr 的拷贝和赋值会增加其对象内部的引用计数次数
不要将智能指针和new一起用,容易出现错误。
如果使用的智能指针管理的资源你不是new分配的内存,应该传递一个删除器来管理删除操作
auto_ptr<T>
unique_ptr<T>
unique_ptr不支持拷贝和复制,也没有make_shared,某个时刻智能有一个unique_ptr指向一个给定对象,初始化unique_ptr只能使用new直接初始化方式。
可以使用release来放弃该对象的操纵权返回一个指针,或者使用reset重置只指向的对象
weak_ptr
弱智能指针 “弱”共享 不改变引用计数 需要由shared_ptr来初始化