本文是回答一位知友的提问:
如果现在买C++17的书学习,里面是否包含C++14,C++11的知识,或者推荐哪个版本,和书谢谢?
正文
我理解题主应该是想学习 C++ 新标准,即 C++11 及之后版本的 C++ 标准新增的一些实用语言特性。
时至今日,C++11/14/17 新标准慢慢成为 C++ 开发主流,建议熟悉新标准新增的一些实用特性。相比较 C++98/03,C++11 是变化和改动最多的一个版本,新增和改善了大量新语言特性和实用功能,而 C++14/17 通常认为是对 C++11 的进一步完善和休憩,所以学习的话建议还是以学习 C++11 新增的特性为主。
这里列举一下建议掌握的 C++11/14/17 常用的语言特性和类库:
-
左值/右值/std::move/std::forward
-
统一的类成员初始化语法与 std::initializer_list
-
注解标签(attributes)
-
final/override/=default/=delete 语法
-
auto 关键字
-
Range-based 循环语法
-
结构化绑定
-
stl 容器新增的实用方法
-
std::thread
-
线程局部存储 thread_local
-
线程同步原语 std::mutex、std::condition_variable 等
-
原子操作类
-
智能指针类
-
std::bind/std::function
-
lamda表达式
推荐的图书
推荐一些我读过的书:
《深入理解 C++11:C++11 新特性解析与应用》
链接: https://pan.baidu.com/s/1foulWgA_ItPEGx0ttCM4ZQ 提取码: ncau
《深入应用 C++11:代码优化与工程级应用》
链接: https://pan.baidu.com/s/1ZgdM0E2cCR135tZ44q8PBw 提取码: 9q1m
C++17 的图书很少,推荐两本我读过比较好的:
《C++17 完全指南》
链接: https://pan.baidu.com/s/1J6wo15DwKHcdGF6FUI6txQ 提取码: ejin
《Cpp 17 in Detail》
链接: https://pan.baidu.com/s/1m4iOTCrFSScEjfPUOqn_HQ 提取码: ts4j
你可能需要的 C++ 资料:
我学习和使用 C/C++ 开发快 13 年了,目前在大厂做 C++ 开发,我整理了一套 C/C++ 优质学习资料————CppGuide,内容从 C/C++ 语言、网络编程、操作系统原理到完整的项目源码分析,同时这份资料也包括 C/C++ 学习方法、推荐的阅读书籍、简历指导和求职技巧等。
需要获取以下资料的同学可以点击这里: