您当前的位置: 首页 >  令狐掌门 ar

C++ boost库智能指针(一):scoped_ptr 与 scoped_array

令狐掌门 发布时间:2020-06-22 23:18:19 ,浏览量:3

        智能指针是C++11更新以后一直很热门的技术,这重点区分了C与C++,智能指针给C++程序员的内存管理带来了便利,同时也有风险,用不好容易翻车。

        boost提供了6种智能指针,scoped_ptr,  scoped_array,shared_ptr,shared_array,weak_ptr, intrusive_ptr, 如下图

        本篇主要介绍前两个.

一、scoped_ptr       

      scoped_ptr 是一个很类似 auto_ptr/unique_ptr 的智能指针,它包装了new操作符在堆上分配的动态对象,能够保证动态创建的对象在任何时候都可以被正确地删除。相对于std::auto_ptr,  scoped_ptr对指针的管理权更加严格,不能转让,有点像引用,一指向了,就不能变方向。一旦 scoped_ptr 获取了对象的管理权,我们就无法再从它那里取回来。        从源码中,可以找到答案,这是因为在scoped_ptr内部对拷贝,赋值做了私有化:


                
关注
打赏
1688896170
查看更多评论

令狐掌门

暂无认证

  • 3浏览

    0关注

    485博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0865s