C++ Core Guidelines解析

C++ Core Guidelines解析

作者:[德]赖纳·格林(Rainer Grimm)著

出版社:清华大学出版社

ISBN:9787302635772

所属分类:行业好书

书刊介绍

内容简介

在《C++ Core Guidelines 解析》中,C++ 专家讲师 Rainer Grimm提炼出了Core Guidelines中的精髓,去除了晦涩难懂的内容,分享了新的见解和背景,并提供了自己培训课程中经过充分测试的示例。

对于使用 C++11 及后续版本 C++ 的有经验程序员,Grimm 能为他们提供帮助,使其用好Core Guidelines。他的大部分代码示例是为 C++17 编写的,在合适的地方涵盖了更新版本和 C++20,并提供了对官方 C++ Core Guidelines在线版本的引用。

无论你是创建新软件还是改进旧代码,Grimm 都将帮助你从Core Guidelines里最有用的规则中获取更多价值,使你编写的代码更安全、更清晰、更高效,以及更易于维护。

* 应用Core Guidelines和其中的编程哲学

* 正确使用接口、函数、类、枚举、资源、表达式和语句

* 优化性能,实现并发和并行,处理错误

* 有效地使用常量、不可变性、模板、泛型和元编程

* 改进C++ 代码风格,管理源文件,使用标准库

作品目录

目 录
第1 章 简介 1
1.1 目标读者群 1
1.2 目的 1
1.3 非目的 2
1.4 施行 2
1.5 结构 2
1.6 主要部分 2
第2 章 理念 5
第3 章 接口 11
3.1 非 const 全局变量的弊端 12
3.2 运用依赖注入化解 13
3.3 构建良好的接口 15
3.4 相关规则 19
第4 章 函数 21
4.1 函数定义 21
4.2 参数传递:入与出 25
4.3 参数传递:所有权语义 30
4.4 值返回语义 33
4.5 其他函数 36
4.6 相关规则 41
第5 章 类和类层次结构 43
5.1 概要规则 44
5.2 具体类型 47
5.3 构造函数、赋值运算符和析构函数 48
5.4 类层次结构 81
5.5 重载和运算符重载 97
5.6 联合体 104
5.7 相关规则 107
第6 章 枚举 109
6.1 通用规则 109
6.2 相关规则 114
第7 章 资源管理 115
7.1 通用规则 116
7.2 内存分配和释放 120
7.3 智能指针 124
7.4 相关规则 135
第8 章 表达式和语句 137
8.1 通用规则 138
8.2 声明 139
8.3 表达式 155
8.4 语句 166
8.5 算术 171
8.6 相关规则 176
第9 章 性能 177
9.1 错误的优化 177
9.2 错误的假设 178
9.3 启用优化 181
9.4 相关规则 190
第10 章 并发 191
10.1 通用规则 191
10.2 关于并发 202
10.3 关于并行 220
10.4 消息传递 223
10.5 无锁编程 227
10.6 相关规则 229
第11 章 错误处理 231
11.1 设计 232
11.2 实现 233
11.3 如果不能抛出异常 238
11.4 相关规则 241
第12 章 常量和不可变性 243
12.1 使用 const 243
12.2 使用 constexpr 247
第13 章 模板和泛型编程 249
13.1 关于使用 250
13.2 关于接口 252
13.3 关于定义 265
13.4 层次结构 276
13.5 变参模板 277
13.6 元编程 281
13.7 其他规则 302
13.8 相关规则 311
第14 章 C 风格编程 313
14.1 完整的源代码可用 314
14.2 没有完整的源代码 315
第15 章 源文件 319
15.1 接口和实现文件 319
15.2 命名空间 325
第16 章 标准库 331
16.1 容器 331
16.2 文本 337
16.3 输入和输出 343
16.4 相关规则 349
第17 章 架构观念 351
第18 章 伪规则和误解 355
第19 章 规格配置 363
19.1 Pro.type 类型安全 363
19.2 Pro.bounds 边界安全 364
19.3 Pro.lifetime 生存期安全 364
第20 章 Guidelines 支持库 365
20.1 视图 365
20.2 所有权指针 366
20.3 断言 366
20.4 实用工具 367
附录A 施行 C++ Core Guidelines 369
附录B 概念 375
附录C 契约 379
· · · · · ·

作者简介

Rainer Grimm 自 1999 年以来担任了软件架构师、团队主管和教练,并从 2002 年开始举办 C++、Python 和专有软件的培训班。作为独立培训讲师,他在编程会议上演讲,每周用英语和德语写博客,并撰写了数本关于现代 C++ 和并发的书籍。

相关推荐

微信二维码