- 0
- 0
- 约1.35万字
- 约 16页
- 2018-12-24 发布于湖北
- 举报
寻找理想的智能指针-C++资源管理综述
摘要:C++中的资源管理历来是比较令人头痛的问题,随着C++0x标准的酝酿,这一问题再次引起了人们的关注。本文将和您一道对C++中的资源管理方式进行回顾,分析与展望,并探讨理想的智能指针应该满足哪些条件。
C的时代
C语言中用指针来表示对资源的引用,这里的资源包括动态内存(堆内存)及同步对象,文件对象等由操作系统抽象出来的对象。有的操作系统中用句柄(handle)表示对这类对象的引用,其语义与指针是相同的。下文中提到的对象如不加说明,一般均指资源对象。
一个用于引用资源的指针(其它的指针,比如指向局部变量的指针或指向指针的指针,这里不予研究)从产生到消亡的整个生存期中可能处于以下四种状态:
空指针
所有指针刚产生时的初始状态都是空指针。C语言中作为局部变量的指针初始状态下包含的值是随机的,但它没有额外的语义,其实质还是空指针,程序员应该显式将其初始化为空,以防止误用。
强指针
强指针是指向某一对象并对其拥有所有权的指针。资源产生后其引用需保存在一个指针中,这个指针这时就是强指针,执行下面的代码后:
ObjectA *pObj1 = NULL;
pObj1 = new ObjectA;
pObj1就成为强指针。资源的所有权可以转移,其表现形式为指针赋值。在强指针的生存期结束之前,它所指向的资源需要被释放,否则会产生资源泄漏。
弱指针
仅
您可能关注的文档
- 旋挖钻机数字控制系统毕业设计2(甘按毕业设计纸打).doc
- 旋挖钻施工方案(干孔).doc
- 旋挖钻施工方案.doc
- 旋转灌装机设计说明书.doc
- 旋转讲义教师版.docx
- 旋转练习题(3)(含答案).doc
- 旋转设备联轴器找中心课件.doc
- 旋转型灌装机.doc
- 旋转型灌装机_说明书.doc
- 选厂岗位操作操作规程.docx
- 统编版二年级语文上册课件《语文园地八》.pptx
- 眼部肌肤护理的日常习惯.pptx
- 第十单元 常见的酸、碱、盐 复习课(酸碱盐的化学性质)课件(内嵌视频)2025-2026学年九年级化学人教版下册.pptx
- 眼部肌肤护理的科学方法.pptx
- 2.4 磁铁能吸什么 课件(内嵌视频)2026-2027学年科学二年级上册苏教版.pptx
- 统编版二年级语文上册课件《阅读18 古诗二首》.pptx
- 科学二下4.12 寻访小动物的家 课件(苏教版2026新教材).pptx
- 煤矿企业各岗位安全生产风险告知.docx
- 第18课《井冈翠竹》课件-统编版语文七年级下册.pptx
- 第二章气体 液体和固体_气体液体固体单元复习课- 课件 -2026-2027学年高二下学期物理粤教版(2019)选择性必修第三册.pptx
最近下载
- 经营分析管理制度.pptx VIP
- m-audio_keystation_es系列Midi键盘说明书(荐).pdf
- 24J306国家建筑标准设计图集.docx
- spark期末测试题解析.pdf VIP
- 新编基础会计学模拟实验(蒋昕)日记账参考答案.ppt VIP
- 2025-2026学年浙江省宁波市宁海县人教版四年级下册期末考试数学试卷(含答案).pdf
- 顿罕布什制冷压缩机应用技术和应用.pptx VIP
- 油气田缓蚀剂的应用和评价.pdf VIP
- 【真题】人教版七年级下学期期末考试数学试卷(含解析)江西省新余市第四中学2024-2025学年.docx VIP
- 小学英语be动词人称代词一般疑问句特殊疑问句练习.docx VIP
原创力文档

文档评论(0)