changkun/modern-cpp-tutorial

GitHub: changkun/modern-cpp-tutorial

一本系统介绍 C++11 至 C++26 现代特性的开源教程,帮助有传统 C++ 基础的开发者快速上手新标准。

Stars: 25674 | Forks: 3110

logo # 现代 C++ 教程:C++11 至 C++26 速览 [![](https://img.shields.io/github/actions/workflow/status/changkun/modern-cpp-tutorial/website.yml?branch=master&style=flat-square)](https://github.com/changkun/modern-cpp-tutorial/actions/workflows/website.yml) [![](https://img.shields.io/badge/language-English-blue.svg?style=flat-square)](./README.md) [![](https://img.shields.io/badge/language-简体中文-red.svg?style=flat-square)](./README-zh-cn.md) [![](https://img.shields.io/badge/€-donate-ff69b4.svg?style=flat-square)](./assets/donate.md) ## 目的 本书自称“速览”。其目的是全面介绍现代 C++(从 C++11 到 C++26)的相关特性。 读者可以根据以下目录选择感兴趣的内容进行学习,以便快速熟悉你想了解的新特性。 读者应该意识到,并非所有这些特性都是必须掌握的。相反,应该在你真正需要的时候再去学习它们。 同时,本书不仅仅是堆砌代码,还尽可能简单地介绍了各项技术要求的历史背景,这对于理解这些特性为何会被引入有着极大的帮助。 此外,作者希望鼓励读者在阅读本书后,直接在新项目中使用现代 C++,并逐步将旧项目迁移至现代 C++。 ## 目标读者 - 本书假设读者已经熟悉传统 C++(即 C++98 或更早版本),或者至少在阅读传统 C++ 代码时没有任何困难。换句话说,那些在传统 C++ 方面有着丰富经验,以及希望在短时间内快速了解现代 C++ 特性的人,非常适合阅读本书。 - 本书在某种程度上介绍了现代 C++ 的“黑魔法”。然而,这些“魔法”非常有限,不适合想要深入学习高级 C++ 的读者。本书的目的是为现代 C++ 提供一个快速入门。当然,高级读者也可以使用本书来复习并检验自己对现代 C++ 的掌握程度。 ## 开始阅读 你可以从以下几种方式中选择阅读: - [GitHub 在线阅读](./book/en-us/toc.md) - [PDF 文档](https://changkun.de/modern-cpp/pdf/modern-cpp-tutorial-en-us.pdf) - [EPUB 文档](https://changkun.de/modern-cpp/epub/modern-cpp-tutorial-en-us.epub) - [网站](https://changkun.de/modern-cpp) ## 代码 本书的每一章都包含大量代码。如果你在使用本书介绍的特性编写自己的代码时遇到问题,阅读本书附带的源代码可能会有所帮助。你可以在这里找到本书的[源代码](./code)。所有代码按章节组织,文件夹名称即为章节号。 ## 练习 本书每章末尾都有少量练习题。这些题目旨在测试你是否掌握了当前章节的知识。你可以在这里找到问题的参考答案:[答案](./exercises)。同样,文件夹名称即为章节号。 ## 网站 本书[网站](https://changkun.de/modern-cpp)的源代码可以在[这里](./website)找到,它是使用 [hexo](https://hexo.io) 和 [vuejs](https://vuejs.org) 构建的。该网站为你提供了另一种阅读方式,并且适配了移动端浏览器。 ## 构建 如果你有兴趣在本地构建所有内容,建议使用 [Docker](https://docs.docker.com/install/)。要进行构建,只需运行: ``` $ make build ``` ## 许可协议 Creative Commons License
本书由 [Ou Changkun](https://changkun.de) 编写,并基于 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行授权。本仓库的代码在 [MIT 许可协议](./LICENSE) 下开源。
标签:C++, C++11, C++20, C++26, 学习资源, 教程, 数据擦除, 编程语言, 请求拦截