提醒:智能指针系列(2)--什么是智能指针 2011年04月13日

演示:以MSN订阅提醒为例 订阅到哪吒,有更新提醒我
哪吒机器人提醒:
提醒:在路上.. 技术,职业,思考
【标题】智能指针系列(2)--什么是智能指针
【摘要】 那么,具体来说,智能指针以什么样的方式解决了"动态内存拥有权"的问题呢?概要地来说,smart pointer通过增加一组wrapper class,让指向动态内存的指针在wrapper class层面具备了值语义(value-semantic),从而解决了指针所指向的动态内存的拥有权问题。(关于值语义这个概念,第一次碰到是在阅读<>的过程中,但是在iso c++标准文献中并没有找到显式的描述,在<>中也只是略有提及,另外在sgi的stl文档中,提到了一个assignable的concept,跟值语义倒是比较接近.不过这些资料中对值语义的描述看起来还是概要了一些,所以这里我结合阅读过的文档资料,给出了自己的定义)什么是值语义呢?就是给定一个源对象,可以自由地将其内容复制到另一个目标对象之中.在复制动作完成之后,源对象及目标对象在对象接口层次不存在耦合关系,所以我们可以在对象接口层次随意操作源及目标对象而不需要显式考虑两者之间的数据同步性问题.对于普通的c++内建数据类型(如int, double数据),它们... (04-13 19:12)
收藏 |  评论 |  推荐给好友  | 
本文共有 0 次分享
评论
共有 - 条评论


我要反馈