explaingit

anthonycalandra/modern-cpp-features

Analysis updated 2026-05-18

21,645Audience · developerComplexity · 1/5LicenseSetup · easy

TLDR

A cheatsheet documenting new C++ language and library features added in C++11 through C++23, with code examples for each.

Mindmap

mindmap
  root((repo))
    What it covers
      Language features
      Library features
      C++11 to C++23
    Key concepts
      Move semantics
      Lambda expressions
      Coroutines
    Use cases
      Learning modern C++
      Feature lookup
      Migration guide
    Format
      Structured README
      Code examples
      Clear descriptions
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Look up how a specific modern C++ feature works when you encounter it in code.

USE CASE 2

Study and learn new language capabilities when upgrading from older C++ versions.

USE CASE 3

Quickly reference what features were added in each C++ standard release.

USE CASE 4

Understand move semantics, lambdas, coroutines, and other advanced concepts with examples.

What is it built with?

C++11C++14C++17C++20C++23

How does it compare?

anthonycalandra/modern-cpp-featureshenrygd/beszelxiaomi/ha_xiaomi_home
Stars21,64521,64421,654
LanguageGoPython
Setup difficultyeasyeasymoderate
Complexity1/52/52/5
Audiencedeveloperops devopsvibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
Use freely for any purpose including commercial, as long as you keep the copyright notice.

In plain English

This repository is a cheat sheet of the new features added to the C++ programming language across its modern revisions, covering C++11, C++14, C++17, C++20, and C++23. C++ is a long-standing language used in games, browsers, finance systems, and operating systems, and its standards committee releases a new version every three years. Each version introduces both language features, which change the syntax you write, and library features, which add ready-made tools to the standard library that ships with every compiler. Keeping track of all of these additions by reading the official standards documents is tedious, so this project gathers them into one browsable Markdown page with small examples. The README is organised by version, with each version split into a language-features list and a library-features list. C++23 adds items such as consteval if, deducing this, a multidimensional subscript operator, std::expected, a stacktrace library, and monadic operations on std::optional. C++20 brings the bigger ticket items: coroutines, concepts, the three-way comparison operator known as the spaceship, ranges, std::span, std::format for text formatting, and the std::jthread cooperative thread type. C++17 covers structured bindings, std::variant, std::optional, std::string_view, the filesystem library, parallel algorithms, and constexpr if. C++14 and C++11 cover the changes that defined modern C++, such as auto, lambdas, range-based for loops, move semantics, smart pointers, std::thread, and std::chrono. Each entry is a clickable link that jumps to a short section further down the page. The section gives a one or two paragraph plain-English explanation of the feature and then shows a small code snippet that demonstrates it. The format means a reader can scan the top index, click the feature they are trying to understand, and read just that fragment without scrolling through unrelated material. The repository itself is documentation only. There is no library to install, no compiler, and no runtime. You read it on GitHub or clone it for offline reading. The intended audience is anyone moving from an older version of C++ to a newer one, or anyone reading another developer's modern C++ code and meeting unfamiliar syntax for the first time. The project also lists acknowledgements to the people who proposed each feature and notes which compilers support each item.

Copy-paste prompts

Prompt 1
Show me how to use move semantics in C++ with a practical example from the modern-cpp-features repo.
Prompt 2
Explain lambda expressions in C++11 and how they differ from traditional function pointers.
Prompt 3
What are coroutines in C++20 and how do I write one? Give me a simple example.
Prompt 4
I'm migrating from C++98 to C++17. What are the most important new features I should learn first?
Prompt 5
Compare the syntax and use cases of auto type deduction across C++11, C++14, and C++17.

Frequently asked questions

What is modern-cpp-features?

A cheatsheet documenting new C++ language and library features added in C++11 through C++23, with code examples for each.

What license does modern-cpp-features use?

Use freely for any purpose including commercial, as long as you keep the copyright notice.

How hard is modern-cpp-features to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is modern-cpp-features for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub anthonycalandra on gitmyhub

Verify against the repo before relying on details.