Skip to content

Modern C++ Tutorial

A free, book-style tutorial covering C++11 through C++26 new language features.changkun/modern-cpp-tutorial

Stars
25.9k
Forks
3.1k
Licence
MIT
Language
C++
Last update
29 days ago
Type
Learning resource

What it is

This is a free tutorial book that explains the new features added to C++ from C++11 through C++26, with short code examples. It is meant to help readers who already know traditional C++ catch up on modern additions quickly. The README also gives historical background for why each feature was introduced.

  • Read a chapter on a specific feature, such as C++17 or C++20 additions, when you need it
  • Study the included source code organized by chapter to see examples running
  • Work through the end-of-chapter exercises and compare against the provided answers
  • Read it online, as a PDF, or as an EPUB

Great for

  • Experienced C++ developers who want a quick overview of modern features
  • Developers migrating older C++ codebases to modern C++ gradually
  • Readers who prefer to look up specific features as they need them
  • Anyone reviewing modern C++ concepts

Not ideal for

  • Complete beginners to programming, since the README assumes familiarity with traditional C++ (C++98 or earlier)
  • Readers seeking advanced C++ mastery, since the README says it only covers a quick start and limited advanced topics
Step-by-step guide: how to use Modern C++ TutorialInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Read it online

    Clone the repository

    git clone https://github.com/changkun/modern-cpp-tutorial
  2. 2

    Run it

    • Open the online book at https://changkun.de/modern-cpp/ or the table of contents at ./book/en-us/toc.md in the repository
    • Pick a chapter that matches the feature you want to learn
    • Read the chapter and browse the matching code folder for examples
    • Check the exercises folder to test your understanding
  3. 3

    Get the most out of it

    • Use the chapter-numbered code folders to run examples alongside the text
    • Try the end-of-chapter exercises and compare with the provided answers
    • Download the PDF or EPUB for offline reading
    • Use the Docker-based build (make build) if you want to build the website locally

Downloads

Strengths

  • Free to read online, as PDF, or as EPUB, with a website version that works on mobile browsers
  • Organized by feature and by chapter, so readers can pick only what they need
  • Includes historical background alongside code examples

Trade-offs

  • Explicitly limited in depth; the README says it is not suited to learning advanced C++
  • Content is a tutorial rather than a reference, so it may not cover every detail of each standard
  • The README notes the author wrote it in Chinese and has limited language skills, so readers may encounter translation or language issues; corrections are welcome via issues and pull requests

How it compares

ProjectStarsTypeLevelUpdatedBest for
modern-cpp-tutorial (this)25.9kLearning resourceintermediate29 days agoExperienced C++ developers who want a quick overview of modern features
modern-cpp-features21.9kLearning resourcebeginner12 days agoC++ developers catching up on features added since C++11
entt13.2kLibraryadvanced4 days agoC++ game developers who want an ECS
cpp-httplib17kLibrarybeginner6 days agoC++ developers who need a simple embedded HTTP server or client without a large framework
C-Plus-Plus34.8kLearning resourceintermediate1 months agoStudents learning algorithms and data structures in C++
IoT-For-Beginners17.2kLearning resourcebeginner5 months agoStudents who want a structured, project-based introduction to IoT

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.