





作者:[德]赖纳·格林(Rainer Grimm)著 吴咏炜、何荣华、张云潮、杨文波 译
定价:128元
印次:1-4
ISBN:9787302635772
出版日期:2023.07.01
印刷日期:2024.07.01
图书责编:王军
图书分类:零售
在《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++ 代码风格,管理源文件,使用标准库
Rainer Grimm 自 1999 年以来担任了软件架构师、团队主管和教练,并从 2002 年开始举办 C++、Python 和专有软件的培训班。作为独立培训讲师,他在编程会议上演讲,每周用英语和德语写博客,并撰写了数本关于现代 C++ 和并发的书籍。
前 言 本前言只有一个目的:给你——亲爱的读者,提供必要的背景,以便你从本书中获得最大的收获。这包括我的技术细节、写作风格、写这本书的动机以及写这样一本书的挑战。 惯例 我保证,只有几个惯例。 规则还是指导原则 C++ Core Guidelines 的作者经常把这些指导原则称为规则。我也一样。在本书中,我使用的这两个术语可以互换。 特殊字体 粗体 有时我用粗体字强调重要的术语。 Monospace 代码、指令、关键词、类型、变量、函数和类的名称都用等宽字体显示。 方框 每一章的结尾处基本都有方框,里面用点列表进行总结。 相关规则 一个规则常常会与其他规则相关。如果有必要,我会在一章的末尾提供这些有价值的信息。 本章精华 重要 在每一章的结尾处获得基本信息。 源代码 我不喜欢 using 指令和声明,因为它们隐藏了库函数的来源。但由于页面的空间有限,有时我还得用一下它们。我使用它们时,总是可以从 using 指令(using namespace std;)或 using 声明(using std::cout;)中推断出来源。并非所有头文件都会在代码片段中标出来。布尔值会显示为 true 或 false,产生此输出所必需的输入/输出操作符 std::boolalpha 大多不放在代码片段中。 代码片段中的3 个点(...)代表没写出的代码。 当我把完整的程序作为代码实例介绍时,你会在代码的第一行找到源文件的名称。 假设你使用的是 C++14 编译器。如果这个例子需要 C++17 或 C++20 的支持,我会在文件名后面提到所需的 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...
非常强大,领衔的吴咏炜在C++领域的功力自不必说,而且他在技术文本上字斟句酌的认真劲可是出了名的,杨文波、张云潮和何荣华在C++领域也都非常资深。非常开心C++中文社区的好书越来越多,我相信《(C++ Core Guidelines解析》会给各位C++工程师以及企业C++研发团队带来长久的价值。"