跳至内容
ayh的博客

ayh的博客

  • 首页
  • test
  • 数据结构
    • B/B+树
    • hash, 布隆过滤器
    • 红黑树
    • 二叉树
  • 操作系统
    • epoll
    • 线程
  • 设计模式
    • 创建型设计模式
    • 结构型设计模式
  • C++
    • C++Primer
    • C++新特性
    • C++ effective
  • 算法
    • 背包问题
    • 动态规划
    • 暴力
    • 枚举
  • 基础组件设计
    • 池式组件
  • Linux工程管理
    • 分支管理
      • git
  • 英语
    • 语法
  • 高性能网络
    • 网络编程

C++ effective

Item29–为“异常安全”而努力是值得的

2025 年 12 月 20 日2025 年 12 月 15 日 作者 ayh

1. 灾难现场:一个“不安全”的函数 假设我们要在多线程环境下更换一个 GUI 菜单的背景图片: class … 阅读更多

分类 C++ effective 发表评论

Item28–避免返回 handles 指向对象内部成分

2025 年 12 月 20 日2025 年 12 月 15 日 作者 ayh

1. 什么是 “Handle”? 在这里,Handle(句柄)是一个广义的概念,不仅仅 … 阅读更多

分类 C++ effective 发表评论

Item27–尽量少做转型动作

2025 年 12 月 20 日2025 年 12 月 15 日 作者 ayh

1. 语法选择:抛弃 C 风格,拥抱 C++ 风格 C 语言的旧式转型(C-style casts)长这样: … 阅读更多

分类 C++ effective 发表评论

Item26–尽可能延后变量定义式的出现时间

2025 年 12 月 20 日2025 年 12 月 15 日 作者 ayh

1. 核心层级:为什么要延后? 在 C 语言(特别是 C89)的旧习惯中,开发者往往喜欢在函数开头把所有变量都 … 阅读更多

分类 C++ effective 发表评论

Item25–考虑写出一个不抛异常的 swap 函数

2025 年 12 月 20 日2025 年 12 月 15 日 作者 ayh

1. 核心现状:默认的 std::swap 够用吗? 绝大多数情况:够用(Rule of Zero) 如果你的 … 阅读更多

分类 C++ effective 发表评论

Item24–若所有参数皆需类型转换,请为此采用 non-member 函数

2025 年 12 月 20 日2025 年 12 月 15 日 作者 ayh

1. 核心场景:混合算术运算 为了讲解这个条款,我们依然使用经典的 有理数类 (Rational),并希望支持 … 阅读更多

分类 C++ effective 发表评论

Item23–宁以 non-member、non-friend 替换 member 函数

2025 年 12 月 20 日2025 年 12 月 15 日 作者 ayh

1. 直觉 vs. 现实 我们的直觉(通常是错的) 在面向对象设计中,我们习惯把数据和操作数据的函数打包在一起 … 阅读更多

分类 C++ effective 发表评论

Item22–将成员变量声明为 private

2025 年 12 月 20 日2025 年 12 月 15 日 作者 ayh

1. 语法一致性 (Syntactic Consistency) 这是最浅层的理由,但对使用者体验很重要。 如 … 阅读更多

分类 C++ effective 发表评论

Item20–宁以 pass-by-reference-to-const 替换 pass-by-value

2025 年 12 月 20 日2025 年 12 月 15 日 作者 ayh

1. 性能代价:为什么要避免 Pass-by-Value? 在 C++ 中,默认情况下函数参数是按值传递(pa … 阅读更多

分类 C++ effective 发表评论

Item19–设计 class 犹如设计 type

2025 年 12 月 20 日2025 年 12 月 12 日 作者 ayh

🏗️ 条款 19:设计 class 犹如设计 type (Treat class design as type … 阅读更多

分类 C++ effective 发表评论
较早文章
较新文章
← 上一页 页面1 页面2 页面3 页面4 页面5 下一页 →

归档

  • 2026 年 1 月 (4)
  • 2025 年 12 月 (143)
© 2026 ayh的博客 • Built with GeneratePress