[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-71506":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":35,"discoverSource":36},71506,"modern-cpp-tutorial","changkun\u002Fmodern-cpp-tutorial","changkun","📚 Modern C++ Tutorial: C++11\u002F14\u002F17\u002F20 On the Fly | https:\u002F\u002Fchangkun.de\u002Fmodern-cpp\u002F","https:\u002F\u002Fchangkun.de\u002Fmodern-cpp\u002F",null,"C++",25563,3097,608,15,0,2,6,129,45,"MIT License",false,"master",[25,26,27,28,29,30,31],"cpp","cpp-tutorial","cpp11","cpp14","cpp17","cpp20","modern-cpp","2026-06-12 02:02:53","\u003Cimg src=\"assets\u002Fcover-2nd-en.png\" alt=\"logo\" height=\"550\" align=\"right\" \u002F>\n\n# Modern C++ Tutorial: C++11\u002F14\u002F17\u002F20 On the Fly\n\n![](https:\u002F\u002Fimg.shields.io\u002Ftravis\u002Fchangkun\u002Fmodern-cpp-tutorial\u002Fmaster?style=flat-square) [![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flanguage-English-blue.svg?style=flat-square)](.\u002FREADME.md) [![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flanguage-简体中文-red.svg?style=flat-square)](.\u002FREADME-zh-cn.md) [![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F€-donate-ff69b4.svg?style=flat-square)](.\u002Fassets\u002Fdonate.md)\n## Purpose\n\nThe book claims to be \"On the Fly\". Its intent is to provide a comprehensive introduction to the relevant features regarding modern C++ (before 2020s).\nReaders can choose interesting content according to the following table of content to learn and quickly familiarize the new features you would like to learn.\nReaders should be aware that not all of these features are required. Instead, it should be learned when you really need it.\n\nAt the same time, instead of coding-only, the book introduces the historical background of its technical requirements (as simple as possible), which provides great help in understanding why these features came out.\n\nIn addition, the author would like to encourage readers to use modern C++ directly in their new projects and  migrate their old projects to modern C++ gradually after reading the book.\n\n## Targets\n\n- This book assumes that readers are already familiar with traditional C++ (i.e. C++98 or earlier), or at least that they do not have any difficulty in reading traditional C++ code. In other words, those who have long experience in traditional C++ and people who desire to quickly understand the features of modern C++ in a short period of time are well suited to read the book.\n\n- This book introduces, to a certain extent, the dark magic of modern C++. However, these magic tricks are very limited, they are not suitable for readers who want to learn advanced C++. The purpose of this book is offering a quick start for modern C++. Of course, advanced readers can also use this book to review and examine themselves on modern C++.\n\n## Start\n\nYou can choose from the following reading methods:\n\n- [GitHub Online](.\u002Fbook\u002Fen-us\u002Ftoc.md)\n- [PDF document](https:\u002F\u002Fchangkun.de\u002Fmodern-cpp\u002Fpdf\u002Fmodern-cpp-tutorial-en-us.pdf)\n- [EPUB document](https:\u002F\u002Fchangkun.de\u002Fmodern-cpp\u002Fepub\u002Fmodern-cpp-tutorial-en-us.epub)\n- [Website](https:\u002F\u002Fchangkun.de\u002Fmodern-cpp)\n\n## Code\n\nEach chapter of this book contains a lot of code. If you encounter problems while writing your own code with the introductory features of the book, reading the source code attached to the book might be of help. You can find the book [here](.\u002Fcode). All the code is organized by chapter, the folder name is the chapter number.\n\n## Exercises\n\nThere are few exercises at the end of each chapter of the book. These are meant to test whether you have mastered the knowledge in the current chapter. You can find the possible answer to the problem [here](.\u002Fexercises). Again, the folder name is the chapter number.\n\n## Website\n\nThe source code of the [website](https:\u002F\u002Fchangkun.de\u002Fmodern-cpp) of this book can be found [here](.\u002Fwebsite), which is built by [hexo](https:\u002F\u002Fhexo.io) and [vuejs](https:\u002F\u002Fvuejs.org). The website provides you another way of reading the book, it also adapts to mobile browsers.\n\n## Build\n\nIf you are interested in building everything locally, it is recommended using [Docker](https:\u002F\u002Fdocs.docker.com\u002Finstall\u002F). To build, simply run:\n\n```bash\n$ make build\n```\n\n## Acknowledgements\n\nThis book was originally written in Chinese by [Changkun Ou](https:\u002F\u002Fchangkun.de).\n\nThe author has limited time and language skills. If readers find any mistakes in the book or any language improvements, please feel free to open an [Issue](https:\u002F\u002Fgithub.com\u002Fchangkun\u002Fmodern-cpp-tutorial\u002Fissues) or start a [Pull request](https:\u002F\u002Fgithub.com\u002Fchangkun\u002Fmodern-cpp-tutorial\u002Fpulls). For detailed guidelines and checklist, please refer to [How to contribute](CONTRIBUTING.md).\n\nThe author is grateful to all contributors, including but not limited to [Contributors](https:\u002F\u002Fgithub.com\u002Fchangkun\u002Fmodern-cpp-tutorial\u002Fgraphs\u002Fcontributors).\n\n\u003Cp>This project is also supported by:\u003C\u002Fp>\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Fwww.digitalocean.com\u002F?refcode=834a3bbc951b&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=CopyPaste\">\n    \u003Cimg src=\"https:\u002F\u002Fopensource.nyc3.cdn.digitaloceanspaces.com\u002Fattribution\u002Fassets\u002FSVG\u002FDO_Logo_horizontal_blue.svg\" width=\"201px\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n## Licenses\n\n\u003Ca rel=\"license\" href=\"https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc-nd\u002F4.0\u002F\">\u003Cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https:\u002F\u002Fi.creativecommons.org\u002Fl\u002Fby-nc-nd\u002F4.0\u002F88x31.png\" \u002F>\u003C\u002Fa>\u003Cbr \u002F>This work was written by [Ou Changkun](https:\u002F\u002Fchangkun.de) and licensed under a \u003Ca rel=\"license\" href=\"https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc-nd\u002F4.0\u002F\">Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License\u003C\u002Fa>. The code of this repository is open sourced under the [MIT license](.\u002FLICENSE).\n","《现代C++教程》旨在为读者提供关于C++11\u002F14\u002F17\u002F20新特性的全面介绍。该项目通过结合实际代码示例与技术背景的简要说明，帮助开发者快速掌握并应用这些新特性。其核心功能包括详尽的新语言特性讲解、历史背景介绍以及丰富的代码示例，特别适合那些已经熟悉传统C++（如C++98或更早版本）并希望迅速上手现代C++开发的程序员。此外，对于正在考虑将旧项目迁移到现代C++标准或在新项目中直接采用最新标准的团队而言，本教程也是一个极佳的学习资源。","2026-06-11 03:38:09","high_star"]