82页《现代C++教程》:高速上手C++ 11/14/17/20

2020 年 10 月 19 日 专知

转载机器之心

编辑:陈萍

C++ 是一门古老又新颖的语言,现代C++ 具备哪些新特性呢?这本书带你了解。


C++ 自发明以来,经历了多次修订,每一次修订都为C++ 增加了新的特性并作了一些修改。

纵观C++ 的发展史,从 C++98 的出现到 C++11 的正式定稿经历了长达十年多之久的积累。C++14/17 则是作为对 C++11 的重要补充和优化,而C++20 将这门语言领进了现代化的大门,所有这些新标准中扩充的特性,给 C++ 这门语言注入了新的活力。

现代 C++ (指 C++11/14/17/20) 的大量特性使得整个 C++ 语言更加现代化。现代 C++ 不仅仅增强了 C++ 语言自身的可用性,
auto 关键字语义的修改使得我们更加有信心来操控极度复杂的模板类型。同时还对语言运行期进行了大量的强化,Lambda 表达式的出现让 C++ 具有了匿名函数的闭包特性,而这一特性在现代的编程语言(诸如 Python/Swift/... )中已经司空见惯,右值引用的出现解决了 C++ 长期以来被人诟病的临时对象效率问题等等。

本文要介绍的这本书就是关于现代C++ 的。相比于传统的C++,现代C++ 具有哪些新特性呢?


目标读者

这本书假定读者已经熟悉了传统 C++ ,至少在阅读传统 C++ 代码上不具备任何困难。换言之,那些长期使用传统 C++进行编码的人、渴望在短时间内迅速了解现代 C++特性的人非常适合阅读本书;

本书一定程度上介绍了一些现代 C++ 的黑魔法,但这些魔法毕竟有限,不适合希望进阶学习现代 C++ 的读者,本书的定位系现代 C++ 的快速上手。当然,希望进阶学习的读者可以使用本书来回顾并检验自己对现代 C++的熟悉度。

书籍简介

这本书有中英文两个版本,包含10个章节。每个章节中都有大量的代码,该书作者也提供了代码链接,所有代码按章节组织,文件夹名称为章节序号。此外,每章最后还加入了少量难度极小的习题,用于检验读者能否混合运用当前章节中的知识点,同样地,该书作者也提供了习题答案链接。

中文版链接:https://changkun.de/modern-cpp/pdf/modern-cpp-tutorial-zh-cn.pdf
英文版链接:https://changkun.de/modern-cpp/pdf/modern-cpp-tutorial-en-us.pdf
书籍代码链接:https://changkun.de/modern-cpp/code/
习题解答链接:https://changkun.de/modern-cpp/exercises/

章节目录




第1章:主要介绍了从 C++11 开始,C++ 标准库中被弃用的主要特性,此外还介绍了C++ 与C的兼容性。

第2章:介绍了语言可用性的强化,主要内容包括常量、变量及其初始化、类型推导、控制流、模板以及面向对象。

第3章:语言运行期的强化,主要介绍了Lambda表达式、函数对象包装器、右值引用。

第4章:简单介绍了现代 C++ 中新增的容器,包括线性容器、无序容器以及元组。它们的用法和传统 C++ 中已有的容器类似,相对简单,可以根据实际场景选择需要使用的容器,获得更好的性能。

第5章:介绍了智能指针与内存管理,包括RAII 与引用计数以及指针std::shared_ptr、std::unique_ptr、std::weak_ptr。

第6章:简单介绍了正则表达式,然后根据使用正则表达式的主要需求,通过一个实际的例子介绍了正则表达式库的使用。

第7章:主要介绍了
std::thread、 std::mutex、 std::future 这些并发编程中不可回避的重要工具。除此之外,还介绍了 C++11 最重要的几个特性之一「内存模型」, 它们为 C++ 在标准化高性能计算中提供了重要的基础。

第8章:文件系统。该库提供了文件系统、路径、常规文件、目录等相关组件进行操作的相关功能。

第9章:介绍了C++11 的几个特性,包括新类型、noexcept的装饰和操作、字面量以及内存对齐。这几个特性是仍未介绍的现代 C++ 新特性里使用频次较靠前的特性,其中
noexcept 是最为重要的特性,它的功能在于阻止异常的扩散传播,有效地使编译器最大限度地优化代码。

第10章:对C++20 进行了展望。

目前,这本书已同步上线GitHub,并在短时间内获得7.1k星。最近更新时间为2020年10月3日,之后可能会有新内容更新。获取最新内容,请查看GitHub:
https://github.com/changkun/modern-cpp-tutorial




作者介绍

本书作者欧长坤2012年就读于西南民族大学计算机科学专业;2015年,作为交换生来到德国学习人机交互(HCI);2016年,获得工程学学士学位,进入慕尼黑LMU攻读HCI硕士学位;2018年,就读于慕尼黑LMU,获得了与HCI并行学位的计算机科学硕士学位;2019年,获得人机交互和计算机科学两个平行学位的理学硕士学位,并开始在慕尼黑LMU担任博士研究生的研究助理。

其主要研究方向为计算机图形学、机器学习、系统编程以及人机交互,擅长C++、JavaScript、Python等编程语言。

公开发表的学术研究包括:

 

参考链接:https://changkun.de/modern-cpp/


专知便捷查看

便捷下载,请关注专知公众号(点击上方蓝色专知关注)

  • 后台回复“C82” 可以获取《【干货书】现代 C++ 教程:高速上手 C++11/14/17/20,82页pdf》专知下载链接索引

专知,专业可信的人工智能知识分发,让认知协作更快更好!欢迎注册登录专知www.zhuanzhi.ai,获取5000+AI主题干货知识资料!
欢迎微信扫一扫加入专知人工智能知识星球群,获取最新AI专业干货知识教程资料和与专家交流咨询
点击“ 阅读原文 ”,了解使用 专知 ,查看获取5000+AI主题知识资源
登录查看更多
20

相关内容

Effective.Modern.C++ 中英文版,334页pdf
专知会员服务
67+阅读 · 2020年11月4日
专知会员服务
81+阅读 · 2020年9月28日
【2020新书】C++20快速语法参考,第4版,209页pdf
专知会员服务
71+阅读 · 2020年8月5日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
159+阅读 · 2020年7月24日
【干货书】《机器学习导论(第二版)》,348页pdf
专知会员服务
247+阅读 · 2020年6月16日
Python导论,476页pdf,现代Python计算
专知会员服务
260+阅读 · 2020年5月17日
【2020新书】C++20 特性 第二版,A Problem-Solution Approach
专知会员服务
58+阅读 · 2020年4月26日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
研究SLAM,对编程的要求有多高?
计算机视觉life
24+阅读 · 2019年2月18日
教程 | PyTorch经验指南:技巧与陷阱
机器之心
15+阅读 · 2018年7月30日
各编程领域最好的入门书籍
程序猿
28+阅读 · 2018年7月29日
10行代码实现目标检测,请收下这份教程
浅显易懂的分布式TensorFlow入门教程
专知
7+阅读 · 2018年6月22日
人工智能入门书单(附PDF链接)
InfoQ
26+阅读 · 2018年1月24日
送你一份深度学习资源&教程!
THU数据派
13+阅读 · 2017年11月30日
深度学习的中文资源,教程推荐!
机器学习研究会
19+阅读 · 2017年11月28日
Arxiv
0+阅读 · 2020年11月30日
Arxiv
0+阅读 · 2020年11月27日
Arxiv
5+阅读 · 2018年5月16日
Arxiv
4+阅读 · 2018年1月19日
VIP会员
相关VIP内容
Effective.Modern.C++ 中英文版,334页pdf
专知会员服务
67+阅读 · 2020年11月4日
专知会员服务
81+阅读 · 2020年9月28日
【2020新书】C++20快速语法参考,第4版,209页pdf
专知会员服务
71+阅读 · 2020年8月5日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
159+阅读 · 2020年7月24日
【干货书】《机器学习导论(第二版)》,348页pdf
专知会员服务
247+阅读 · 2020年6月16日
Python导论,476页pdf,现代Python计算
专知会员服务
260+阅读 · 2020年5月17日
【2020新书】C++20 特性 第二版,A Problem-Solution Approach
专知会员服务
58+阅读 · 2020年4月26日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
相关资讯
研究SLAM,对编程的要求有多高?
计算机视觉life
24+阅读 · 2019年2月18日
教程 | PyTorch经验指南:技巧与陷阱
机器之心
15+阅读 · 2018年7月30日
各编程领域最好的入门书籍
程序猿
28+阅读 · 2018年7月29日
10行代码实现目标检测,请收下这份教程
浅显易懂的分布式TensorFlow入门教程
专知
7+阅读 · 2018年6月22日
人工智能入门书单(附PDF链接)
InfoQ
26+阅读 · 2018年1月24日
送你一份深度学习资源&教程!
THU数据派
13+阅读 · 2017年11月30日
深度学习的中文资源,教程推荐!
机器学习研究会
19+阅读 · 2017年11月28日
Top
微信扫码咨询专知VIP会员