RAII

RAII(Resource Acquistion Is Initialization)C++的一种管理资源、避免泄露的惯用法。利用的就是C++构造的对象最终会被销毁的原则。RAII的做法是使用一个对象,在其构造时获取相应的资源,在对象生命期内控制对资源的访问,使之始终保持有效,最后在对象析构的时候,释放构造时获取的资源。
我们在编程使用系统资源(有限)时,都必须遵循一个步骤:1.申请资源;2.使用资源;3.释放资源。资源必须要申请才能使用,使用完成以后,必须要释放,否则会造成资源泄露。
当我们在一个函数内部使用局部变量时,当退出了这个局部变量的作用域时,这个变量也就被撤销了;当这个变量是类对象时,就会自动调用这个类的析构函数。RAII就是这样完成的,如果把资源利用类进行封装,对资源操作都封装在类的内部,在析构函数中进行释放资源。当定义的局部变量的生命结束时,它的析构函数就会被自动调用。因为资源不具有拷贝语义,所以应该delete拷贝构造函数和拷贝赋值函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值