(3)资源管理-- Effective C++改善程序与设计的55个具体做法(Effective C++: 55 Specific Ways to Improve Your Programs)

本文介绍了Effective C++中的资源管理原则,包括使用对象管理资源,考虑资源管理类的复制行为,提供访问原始资源的方法,正确匹配new和delete的形式,以及确保智能指针独立存储new的对象。强调了RAII(Resource Acquisition Is Initialization)原则在防止资源泄露中的重要性,同时讨论了shared_ptr和auto_ptr的特性及其在复制行为中的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在这里插入图片描述
这几条规则来源自书的第二章, 资源管理,这些机制实际上已经被标准库所采用,并且实现成了一系
列的工具提供给我们使用,比如std::shared_ptr等。

13. 以对象管理资源(Use objects to manage resources)

所谓以对象管理资源是指,利用对象离开其作用域后析构函数自动调用的特点,将资源的释放操作放入对象的析构函数。同时,为了防止资源泄露(见下面例子),资源的获取也放在对象的构造函数中。

请记住:
(1).为防止资源泄漏,请使用RAII(Resource Acquisition Is Initialization,资源取得时机便是初始化时机)对象,它们在构造函数中获得资源并在析构函数中释放资源。

(2).两个常被使用的RAII classes分别是std::shared_ptr和auto_ptr。前者通常是较佳选择,因为其copy行为比较直观。若选择auto_ptr,复制动作会使它(被复制物)指向null。

auto_pt

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值