Analysis updated 2026-05-18
Look up how a specific modern C++ feature works when you encounter it in code.
Study and learn new language capabilities when upgrading from older C++ versions.
Quickly reference what features were added in each C++ standard release.
Understand move semantics, lambdas, coroutines, and other advanced concepts with examples.
| anthonycalandra/modern-cpp-features | henrygd/beszel | xiaomi/ha_xiaomi_home | |
|---|---|---|---|
| Stars | 21,645 | 21,644 | 21,654 |
| Language | — | Go | Python |
| Setup difficulty | easy | easy | moderate |
| Complexity | 1/5 | 2/5 | 2/5 |
| Audience | developer | ops devops | vibe coder |
Figures from each repo's GitHub metadata at analysis time.
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.
A cheatsheet documenting new C++ language and library features added in C++11 through C++23, with code examples for each.
Use freely for any purpose including commercial, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.