现代 C++ 教程:C++11/14/17/20 即学即用
目的
本书的标题是"即学即用"。它的目的是提供一个全面的介绍,涵盖现代 C++(2020年之前)的相关特性。 读者可以根据以下目录选择感兴趣的内容进行学习,并快速熟悉您想学习的新特性。 读者应该意识到,并非所有这些特性都是必需的。相反,应该在真正需要时才学习它们。
同时,本书不仅仅局限于编码,还介绍了这些技术要求的历史背景(尽可能简单),这有助于理解这些特性出现的原因。
此外,作者希望鼓励读者在新项目中直接使用现代 C++,并在阅读本书后逐步将旧项目迁移到现代 C++。
目标读者
-
本书假设读者已经熟悉传统的 C++(即 C++98 或更早版本),或者至少在阅读传统 C++ 代码时没有任何困难。换句话说,那些在传统 C++ 方面有丰富经验的人以及希望在短时间内快速了解现代 C++ 特性的人都非常适合阅读本书。
-
本书在一定程度上介绍了现代 C++ 的一些高级技巧。然而,这些技巧非常有限,不适合想学习高级 C++ 的读者。本书的目的是为现代 C++ 提供一个快速入门。当然,高级读者也可以使用本书来复习和检验自己对现代 C++ 的掌握程度。
开始阅读
您可以选择以下阅读方式:
代码
本书的每一章都包含大量代码。如果您在使用书中介绍的特性编写自己的代码时遇到问题,阅读本书附带的源代码可能会有所帮助。您可以在这里找到代码。所有代码按章节组织,文件夹名称即为章节编号。
练习
本书每章末尾都有一些练习题。这些练习旨在测试您是否掌握了当前章节的知识。您可以在这里找到问题的可能答案。同样,文件夹名称即为章节编号。
网站
本书网站的源代码可以在这里找到,它是由 hexo 和 vuejs 构建的。网站为您提供了另一种阅读本书的方式,它还适配移动浏览器。
构建
如果您对在本地构建所有内容感兴趣,建议使用 Docker。要构建,只需运行:
$ make build
致谢
本书最初由 Ou Changkun 用中文撰写。
作者的时间和语言技能有限。如果读者发现书中有任何错误或语言改进,请随时提出 Issue 或发起 Pull request。有关详细指南和清单,请参阅如何贡献。
作者感谢所有贡献者,包括但不限于 Contributors。
本项目还得到以下支持:
许可
本作品由 Ou Changkun 撰写,采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。本仓库的代码遵循 MIT 许可证开源。