我是靠谱客的博主 狂野蜻蜓,最近开发中收集的这篇文章主要介绍C++ boost库智能指针(一):scoped_ptr 与 scoped_array,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

        智能指针是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内部对拷贝,赋值做了私有化:


                

最后

以上就是狂野蜻蜓为你收集整理的C++ boost库智能指针(一):scoped_ptr 与 scoped_array的全部内容,希望文章能够帮你解决C++ boost库智能指针(一):scoped_ptr 与 scoped_array所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部