Effective C++学习笔记之对RAII思想的思考



在阅读  Effective C++时,对RAII开始不理解,现总结如下:
  RAII是Resource acquisition is initialization的缩写形式,即“资源获取就是初始化”,是C++等编程语言常用的管理资源、避免内存泄露的方法。它保证在任何情况下,使用对象时先构造对象,最后析构对象。
   根据RAII 对资源的所有权可分为常性类型和变性类型,代表者分别是boost::shared_ptr和std::auto_ptr;从所管资源的初始化位置上可分为外部初始化类型和内部初始化类型。

常性类型是指获取资源的地点是构造函数,释放点是析构函数,并且在这两点之间的一段时间里,任何对该RAII类型实例的操纵都不应该从它手里夺走资源的所有权。变性类型是指可以中途被设置为接管另一个资源,或者干脆被置为不拥有任何资源。外部初始化类型是指资源在外部被创建,并被传给RAII实例的构造函数,后者进而接管了其所有权。boost:shared_ptr和std::auto_ptr都是此类型。与之相对的是内部初始化类型。

对于RAII在 Effective C++的第三部分(对象管理资源)条款13、14、15对RAII以及shared_ptr和std::auto_ptr有具体的介绍,还会关系到其他的条款内容,具体可以参加原书内容,此处不再赘述!

不足与提高之处:对Boost库和STL库的理解还是有限,还需要进一步深入研究;

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值