初学者指南:现代C++入门教程

发表时间: 2021-03-08 10:52

我们都知道,C++ 是一门难学易用的语言。就连他的创始人 Bjarne Stroustrup 都说自己有时候看不懂这门语言……

同时,C++ 又是一门在持续进化的语言。自发明以来,经历了多次修订,每一次修订都为 C++ 增加了新的特性并作了一些修改。

C++ 变得更强大,更优雅,更高效。那些还在坚持使用传统 C++ 而未接触过现代 C++ 的 C++ 程序员,在见到诸如 Lambda 表达式这类全新特性时,甚至会流露出『学的不是同一门语言』的惊叹之情。

现代 C++ 的新特性

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

现代 C++ 还为自身的标准库增加了非常多的工具和方法,诸如在语言自身标准的层面上制定了 std::thread,从而支持了并发编程,在不同平台上不再依赖于系统底层的 API,实现了语言层面的跨平台支持;std::regex 提供了完整的正则表达式支持等等。

总而言之,我们作为 C++ 的拥护与实践者,始终保持接纳新事物的开放心态,才能更快的推进 C++ 的发展,使得这门古老而又新颖的语言更加充满活力。

12.5K 颗星的《现代 C++ 教程》

如果你已经熟悉了传统 C++ ,渴望在短时间内迅速了解现代 C++ 特性,一定要为你推荐这门 Github 上超火的《现代 C++ 教程》

这本书定位为现代 C++ 的快速上手教程,同时介绍了一些现代 C++ 的黑魔法,可以帮助传统 C++ 使用者快速进化为现代 C++ 使用者。希望进阶学习的读者可以使用本书来回顾并检验自己对现代 C++ 的熟悉度。

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

作者介绍

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

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

在线实验版本

除此之外,作者还在蓝桥云课上线了在线实验版本。除了原汁原味的内容和练习之外,你可以使用配套的实验环境,随时随地的学习该书的内容。学编程,边敲代码边学习才是最好的学习方法

章节内容:

你将学到: