作者: | 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)、带有初始化的 if
和 switch
语句、内联变量(Inline Variables)等。这些特性有助于简化日常编程任务,提高代码的可读性和可维护性。
详细讲解了 C++17 中与模板相关的改进,包括类模板参数推导(Class Template Argument Deduction)、编译时 if
(Compile-Time if)、折叠表达式(Fold Expressions)等。这些特性增强了模板编程的灵活性和表达能力。
介绍了 C++17 新增的标准库组件,如 std::optional
、std::variant
、std::any
和文件系统库(Filesystem Library)。这些组件为处理可选值、异构集合和文件操作提供了更强大的工具。
讨论了对现有标准库组件的扩展和改进,例如并行 STL 算法(Parallel STL Algorithms)、新 STL 算法(如 std::reduce
)、字符串视图(String Views)等。这些改进提升了标准库的功能性和性能。
针对高级开发者,介绍了如多态内存资源(Polymorphic Memory Resources, PMR)、std::launder
、std::invoke
等高级工具,这些特性有助于实现更高效的底层操作和复杂的库设计。
提供了关于 C++17 的一些通用提示和最佳实践,帮助开发者更好地理解和应用 C++17 的特性。
本书适合已经熟悉 C++(特别是 C++11 和 C++14)的开发者,希望深入了解 C++17 的新特性和改进。对于希望提升代码质量和性能的开发者来说,本书是一本不可多得的实用指南。
总之,《C++17 - The Complete Guide》是一本全面、深入且实用的 C++17 学习手册,能够帮助开发者更好地掌握和应用 C++17 的新特性。