Something went wrong. Try again.
A Tour of C++ for experienced programmers, as if C++26 is the only version that ever existed.
Something went wrong. Try again.
Summary #
Part I — The Language #
- The compiler is a committee
- Values and functions
- User-defined types: structs, sums, and expectations
- Control flow, modernly
- Ownership, move, and RAII
- Smart pointers and owning views
- Lifetimes, and the compiler that sees them
- Passing arguments, returning values
- Errors: exceptions, expected, and contracts
Part II — The Standard Library #
- Text: strings, views, and formatting
- Containers
- Algorithms are the loops
- Ranges and views
- Callables and type erasure
- Numerics and multi-dimensional data
Part III — Generic and Compile-Time Programming #
- Templates I: functions that match
- Concepts: the constraint language
- Compile-time C++
- Values as template arguments
- Specialization, overloading, customization points
- Reading the old magic: SFINAE, type_traits, and friends
- Capstone: a constexpr SQL in C++26
Part IV — Systems #
- Headers,
#include, and organizing programs - Modules, the standard's direction
- Concurrency I: threads as values
- Concurrency II: atomics, and the shape of async
- Coroutines: suspension as first-class code
- Speaking C
- Fast is a specification