1、智能指针的由来
智能指针实质是一个对象,行为表现的却像一个指针。智能指针的出现实际上就是为了可以方便的控制对象的生命期,在智能指针中,一个对象什么时候和在什么条件下要被析构或者是删除是受智能指针本身决定的,用户并不需要管理。
2.智能指针分类
智能指针分为weak_ptr,shared-ptr,auto-ptr,unique-ptr
shared_ptr中所实现的本质是引用计数。
auto-ptr,unique-ptr指针本质是所有权(ownership)。auto-ptr与unique-ptr区别主要是auto-ptr在转移所有权之后,对原先指针的访问不会造成编译出错而会导致程序崩溃,unique-ptr会直接编译出错。这样防止潜在的程序问题。
weak_ptr是一种弱智能指针,是shared-ptr的附加物、他无法解引用,访问对象时,应转化为shared-ptr,主要作用:需要获知所管理的资源是否过期,解决shared_ptr的循环引用问题
智能指针
最新推荐文章于 2022-07-27 23:16:57 发布