C++17完全指南
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
"C++17 The Complete Guide 是一本由Nicolai M. Josuttis编写的书籍,专注于介绍C++17标准的详细内容。本书的首次出版日期为2019年12月20日,版权由Nicolai Josuttis所有。此书在 Leanpub 平台上出售,并采用LaTeX文档处理系统排版。作者鼓励读者通过轻量级工具和多次迭代来提供反馈,以便不断改进和完善内容。书中包含了关于C++17的前言、版本信息、致谢、书籍介绍、阅读前提、书籍结构、阅读方式以及错误术语等章节。" C++17是C++编程语言的一个重要版本,它引入了许多新特性以提高效率、可读性和代码的简洁性。以下是一些C++17的关键知识点: 1. 变量模板初始化:允许在模板声明时就进行初始化,使得模板更具通用性。 2. 自动类型推断(auto关键字)增强:在函数返回类型中也可以使用auto,简化了函数签名。 3. 条件变量(std::condition_variable_any):与std::condition_variable不同,它可以等待任何类型的锁,增加了多线程编程的灵活性。 4. 展开表达式(fold expressions):这使得元编程更加简洁,可以用于求和、比较等操作。 5. 新的初始化语法(structured bindings):可以一次性地为多个变量分配解构出来的值,如从std::tuple或自定义结构体中解包元素。 6. 将字面量运算符重载为成员函数:允许在类类型中定义字面量运算符,如`operator""_myunit()`。 7. if和switch语句的初始化:if和switch语句现在可以包含初始化语句,这使得代码更紧凑,减少了临时变量的使用。 8. 字符串字面量(std::string_view):提供了一种不拥有内存的字符串视图,增强了字符串操作的性能。 9. 并行算法库(<execution>头文件):引入了并行版本的STL算法,如std::transform和std::sort,可以利用多核处理器提高计算速度。 10. noexcept指定器改进:现在可以更精确地指定函数是否可能抛出异常,有助于优化和异常安全。 11. 模板类的推导指引(template argument deduction guides):帮助编译器在模板实例化时选择正确的构造函数。 12. 标准库改进:包括新容器(如std::optional和std::variant)和新算法(如std::make_unique和std::make_shared的变体)。 13. 元组的成员访问:通过std::apply函数,可以方便地访问和操作元组的所有元素。 14. constexpr的增强:更多函数和操作现在可以在编译时计算,进一步扩展了C++的静态编程能力。 Nicolai M. Josuttis的《C++17 The Complete Guide》详细讲解了这些特性的用法和背后的原理,是学习和掌握C++17标准的重要参考资料。通过这本书,读者不仅可以理解新的语言特性,还能了解到如何在实际项目中有效地应用它们。
![](https://csdnimg.cn/release/download_crawler_static/12355636/bg10.jpg)
![](https://csdnimg.cn/release/download_crawler_static/12355636/bg11.jpg)
![](https://csdnimg.cn/release/download_crawler_static/12355636/bg12.jpg)
![](https://csdnimg.cn/release/download_crawler_static/12355636/bg13.jpg)
![](https://csdnimg.cn/release/download_crawler_static/12355636/bg14.jpg)
剩余451页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Vue实现iOS原生Picker组件:详细解析与实现思路
- Arduino蓝牙小车:参数调试与功能控制
- 百度Java面试精华:200页精选资源涵盖核心知识点
- Swift使用CoreData填坑指南:CoreData在Swift 3.0的变化
- 微距离无线充电器创新设计及其实验探索
- MTK Android平台开发全攻略:44步详解流程
- RecyclerView全面解析:替代ListView的新选择
- Android开发:自动适配中英文键盘解决方案
- Android调用WebService接口教程
- Android开发:BitmapUtil图片处理全解析与实例
- Android多线程断点续传实现详解
- PCA算法在人脸识别会议签到系统中的应用
- EventBus 3.0:Android事件总线详解与实战应用
- Android FileUtil:全面解析文件操作实用技巧与实例
- RecyclerView添加头部和尾部实战教程
- Android实现微博滑动固定顶部栏实战与优化
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)