- auto_ptr
c++98版本的库中提供了autoptr的智能指针
auto实现原理:管理权转移。
坑:在于当对象拷贝或者赋值后前对象就悬空了。 - unique_ptr
防拷贝,禁止拷贝构造和赋值。 - shared_ptr
C++11提供支持拷贝的智能指针,通过引用计数来实现智能指针对象的拷贝。
对于一份资源的使用都存在着一份计数,记录该资源被几个对象共享。
在对象被销毁时,资源的引用计数减一,引用计数为0时释放资源。
会有循环引用的问题 - weak_ptr
为解决shared_ptr的循环引用问题,对对象的一种弱引用,不会增加对象的引用计数,
网友评论