C++17 - The Complete Guide 5th Edition
作者: Nicolai M. Josuttis
语言: 英文
出版年份: 2019
编程语言: C++
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

《C++17 - The Complete Guide》是由 Nicolai M. Josuttis 编写的关于 C++17 的全面指南,首次出版于 2019 年 12 月。本书由 Leanpub 出版,采用 Lean Publishing 的方式逐步更新和发布,旨在为 C++ 开发者提供关于 C++17 语言特性和标准库组件的深入讲解和实用指导。

书籍结构

本书分为六个部分,涵盖了 C++17 的语言特性、模板特性、新标准库组件、标准库扩展与修改、专家级工具以及总结性提示。

第一部分:基本语言特性

介绍了 C++17 中新增的非模板语言特性,例如结构化绑定(Structured Bindings)、带有初始化的 ifswitch 语句、内联变量(Inline Variables)等。这些特性有助于简化日常编程任务,提高代码的可读性和可维护性。

第二部分:模板特性

详细讲解了 C++17 中与模板相关的改进,包括类模板参数推导(Class Template Argument Deduction)、编译时 if(Compile-Time if)、折叠表达式(Fold Expressions)等。这些特性增强了模板编程的灵活性和表达能力。

第三部分:新标准库组件

介绍了 C++17 新增的标准库组件,如 std::optionalstd::variantstd::any 和文件系统库(Filesystem Library)。这些组件为处理可选值、异构集合和文件操作提供了更强大的工具。

第四部分:标准库扩展与修改

讨论了对现有标准库组件的扩展和改进,例如并行 STL 算法(Parallel STL Algorithms)、新 STL 算法(如 std::reduce)、字符串视图(String Views)等。这些改进提升了标准库的功能性和性能。

第五部分:专家级工具

针对高级开发者,介绍了如多态内存资源(Polymorphic Memory Resources, PMR)、std::launderstd::invoke 等高级工具,这些特性有助于实现更高效的底层操作和复杂的库设计。

第六部分:总结性提示

提供了关于 C++17 的一些通用提示和最佳实践,帮助开发者更好地理解和应用 C++17 的特性。

书籍特点

  • 全面覆盖:本书不仅涵盖了 C++17 的语言特性,还详细介绍了标准库的新增组件和改进。
  • 实用性强:通过大量示例代码,展示了如何在实际项目中应用 C++17 的特性。
  • 逐步更新:采用 Lean Publishing 模式,作者根据读者反馈逐步改进内容,确保书籍的时效性和准确性。
  • 适合不同层次的开发者:无论是初学者还是经验丰富的开发者,都能从本书中获得有价值的信息。

适用读者

本书适合已经熟悉 C++(特别是 C++11 和 C++14)的开发者,希望深入了解 C++17 的新特性和改进。对于希望提升代码质量和性能的开发者来说,本书是一本不可多得的实用指南。

总之,《C++17 - The Complete Guide》是一本全面、深入且实用的 C++17 学习手册,能够帮助开发者更好地掌握和应用 C++17 的新特性。

期待您的支持
捐助本站