Exceptional C++ Style之12
来源:互联网 发布:uu网络加速器 编辑:程序博客网 时间:2024/04/30 06:53
第12条 异常安全性:值得吗
资源获取即初始化,这里用到了智能指针的概念也就是说把资源管理的工作交给了构造函数和析构函数,这应该是个比较流行的办法,我遇到过因为分支产生的内存泄漏问题。
如果可以的话,不要贸然返回。但是有什么好的办法?我在我的实践中考虑到效率的问题,需要及早返回。记得在Stack中讨论Top()和Pop(),这就是为什么函数要功能单一的真谛,如果需要详细了解,请参见《Effective STL》。这东西真是触类旁通。
不能在析构函数中抛出异常,这在之前的Blog好像有过论述,这参见《C++编程思想》第二卷关于Defensive Programming的论述。那么现在需要加上deallocation,这个原因不想重复,可以参见Allocator的实现。Swap也需要保证,这里Sutter提出Vecotr的insert不是强异常安全性。我在微软的实现上没有看见强异常安全性的保证,但我真不觉得会出现不可恢复的灾难。
- Exceptional C++ Style之12
- Exceptional C++ Style之1
- Exceptional C++ Style之2
- Exceptional C++ Style之3
- Exceptional C++ Style之4
- Exceptional C++ Style之5
- Exceptional C++ Style之6
- Exceptional C++ Style之7
- Exceptional C++ Style之8
- Exceptional C++ Style之9
- Exceptional C++ Style之10
- Exceptional C++ Style之11
- Exceptional C++ Style之13
- Exceptional C++ Style之14
- Exceptional C++ Style之15
- Exceptional C++ Style之16
- Exceptional C++ Style之17
- Exceptional C++ Style之18
- CSDN的BLOG评论和联系作者发送邮件好象有问题,请管理员解决
- linux下面配置java环境变量
- 测试CSDN Blog
- 基于Nokia平台的游戏通用框架
- ASP.NET 2.0 + SQL 2005 空间 QQ:36378874
- Exceptional C++ Style之12
- 一个URL路径编码(C#版)
- 一个URL路径编码(ASP版)
- C++短跑回顾
- 在Delphi 2006 上安装ReportBuilder 9.01
- Session详解
- Tomcat的class加载的优先顺序一览
- bde错误编码
- 任务七:计算机测试软件的使用