随笔 - 576  文章 - 0  评论 - 62  阅读 - 219万

【29】为“异常安全”而努力是值得的

1、异常安全(出现异常,保证安全)有三个保证:

  a、基本承诺:抛出异常,对象处于有效状态下;

  b、强烈保证:抛出异常,对象要么修改成功,要么会滚到初始状态,可认为操作的原子行;

  c、不抛出保证:保证不抛出异常。

2、为了异常安全,常常需要使用资源管理类shared_ptr。为了做到强烈保证,即操作的原子性。常常使用策略:copy and swap。考虑指向实现的类(pimpl idom),修改这样对象使用copy and swap策略:首先对对象做个copy副本,修改副本,然后交换指针。

3、异常安全保证,符合木桶理论的短板效应,异常安全保证等于最弱者。

posted on   Andy Niu  阅读(182)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示