3种智能指针为shared_ptr, unique_ptr,weak_ptr;
shared_ptr 的实现原理是封装了一个引用计数,当引用计数为零时就会释放内存。
weak_ptr 是一种弱引用,其不会增加引用计数,其唯一的作用是为了解决shared_ptr循环引用带来的内存泄露问题。
unique_ptr 是一种独占的智能指针,禁止其他智能指针共享一个对象。但可用std::move来转移给其他unique指针。
3种智能指针为shared_ptr, unique_ptr,weak_ptr;
shared_ptr 的实现原理是封装了一个引用计数,当引用计数为零时就会释放内存。
weak_ptr 是一种弱引用,其不会增加引用计数,其唯一的作用是为了解决shared_ptr循环引用带来的内存泄露问题。
unique_ptr 是一种独占的智能指针,禁止其他智能指针共享一个对象。但可用std::move来转移给其他unique指针。