众所周知,C++ 是一门自由的语言,语言的设计哲学之一就是赋予程序员极大的自由度和灵活性,因此,使用C++ 完成一个任务时,不同的程序员往往会有不同的实现方法,这真正阐释了什么叫条条大路通罗马。不过,这种自由和灵活的代价就是语言复杂度的提升,学习曲线也必然不会平滑。此外,C++ 语言特性也十分丰富,尤其从 C++11标准开始,新的特性层出不穷,以至于曾有书友用 《三国演义》中评价 “八阵图”的一句话米评价现代 C++:“变化无穷,不能学也。”当然,这句话至少有些调倪和令张的成分,但也说明了 C4+的自由和灵活性多多少少地给学习者和从业者带水了一些困扰。

从软件工程的角度出发,程序员也大都希望 C++ 在保持自由的同时能够有一些规则和惯用法,于是 C++ Core Guidelines 应运而生。C++Core Guidelines 非常全面地介绍了语言各个重要环节的规则和惯用法,如函数、类、错误处理、性能优化等。例如,我们常说尽量使用智能指针代替裸指针,从而避免内存的泄漏,但是这又造成另外一个问题——智能指针的过度使用。C++ Core Guidelines中有这么一条建议一—“对于一般用途,采用T* 或T& 参数而不是智能指针”,因为智能指针关注所有权和生命周期,在不操作生命周期的函数中应该使用原始指针或引用。

除了规则和惯用法,Ct+ Core Guidelines 还会解释一些容易引起争论的话题。比如错误处理中的异常,Guidelines 中非常客观地描述了异常的应用场景,例如只有在能精确预测从 throw 恢复的最长时间时,异常才适用于硬实时系统。此外,Guidelines 客观地提出,如果负担不起或者不喜欢基于异常的错误处理方式,那么也可以采取其他方案,但必须做充分的测试和测量,因为无论哪种错误处理方式都有其不同的复杂性和问题。

由资深技术专家Rainer Grimm撰著的《C++ Core Guidelines解析》,从内容上说,选取了现代C++语言最核心的相关规则;从篇幅上说,对软件工程师非常友好。以“八二原则”看,这个精编解析版是一-个非常聪明的选择。同时,Rainer Grimm并没有简单照搬开源文档中的规则,而是结合自己丰富的咨询和培训经验,给出了非常翔实的解析,这自然为本书增色不少。最后,此书中文译本的质量让我非常放心。翻译团队非常强大,领衔的吴咏炜在C++领域的功力自不必说,而且他在技术文本上字斟句酌的认真劲可是出了名的,杨文波、张云潮和何荣华在C++领域也都非常资深。非常开心C++中文社区的好书越来越多,我相信《(C++ Core Guidelines解析》会给各位C++工程师以及企业C++研发团队带来长久的价值。

在《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++ 代码风格,管理源文件,使用标准库

样章试读部分

《C++ Core Guidelines解析》([德]赖纳·格林(Rainer,Grimm),吴咏炜)【摘要 书评 试读】- 京东图书 (jd.com)http://点击链接了解更多图书详情