1. Introduction
  2. References
  3. C++11
  4. Language features
    1. Move semantics
    2. Rvalue references
    3. Forwarding references
    4. Variadic templates
    5. Initializer lists
    6. Static assertions
    7. auto
    8. Lambda expressions
    9. decltype
    10. Type aliases
    11. nullptr
    12. Strongly-typed enums
    13. Attributes
    14. constexpr
    15. Delegating constructors
    16. User-defined literals
    17. Explicit virtual overrides
    18. Final specifier
    19. Default functions
    20. Deleted functions
    21. Range-based for loops
    22. Special member functions for move semantics
    23. Converting constructors
    24. Explicit conversion functions
    25. Inline namespaces
    26. Non-static data member initializers
    27. Right angle brackets
    28. Ref-qualified member functions
    29. Trailing return types
    30. noexcept
    31. char32_t and char16_t
    32. Raw string literals
  5. Library features
    1. std::move
    2. std::forward
    3. std::thread
    4. std::to_string
    5. Type traits
    6. Smart pointers
    7. std::chrono
    8. Tuples
    9. std::tie
    10. std::array
    11. Unordered containers
    12. std::make_shared
    13. std::ref
    14. std::async
    15. std::begin/std::end
  6. C++14
  7. Language features
    1. Binary literals
    2. Generic lambda expressions
    3. Lambda capture initializers
    4. Return type deduction
    5. decltype(auto)
    6. Relaxing constraints on constexpr functions
    7. Variable templates
    8. [[deprecated]] attribute
  8. Library features
    1. User-defined literals for standard library types
    2. Compile-time integer sequences
    3. std::make_unique
  9. C++17
  10. Language features
    1. Template argument deduction for class templates
    2. Non-type template parameters with auto
    3. Folding expressions
    4. New rules for auto deduction from braced-init-list
    5. constexpr lambda
    6. Lambda capture this by value
    7. inline variables
    8. Nested namespaces
    9. Structured bindings
    10. Selection statements with initializer
    11. constexpr if
    12. UTF-8 character literals
    13. Direct-list-initialization of enums
    14. [[fallthrough]], [[nodiscard]], [[maybe_unused]] attributes
    15. __has_include
    16. Class template argument deduction
  11. Library features
    1. std::variant
    2. std::optional
    3. std::any
    4. std::string_view
    5. std::invoke
    6. std::apply
    7. std::filesystem
    8. std::byte
    9. Splicing for maps and sets
    10. Parallel algorithms
    11. std::sample
    12. std::clamp
    13. std::reduce
    14. Prefix sum algorithms
    15. std::gcd and std::lcm
    16. std::not_fn
    17. String conversion to/from numbers
    18. Rounding functions for chrono durations and timepoints
  12. C++20
  13. Language features
    1. Coroutines
    2. Concepts
    3. requires clause
    4. Three-way comparison (spaceship operator)
    5. Designated initializers
    6. Template syntax for lambdas
    7. Range-based for loop with initializer
    8. [[likely]] and [[unlikely]] attributes
    9. Deprecate implicit capture of this
    10. Class types in non-type template parameters
    11. constexpr virtual functions
    12. explicit(bool)
    13. consteval (immediate functions)
    14. using enum
    15. Lambda capture of parameter pack
    16. char8_t
    17. constinit
    18. __VA_OPT__
  14. Library features
    1. Concepts library
    2. std::format
    3. Synchronized buffered outputstream
    4. std::span
    5. Bit operations
    6. Math constants
    7. std::is_constant_evaluated
    8. std::make_shared array support
    9. starts_with and ends_with on strings
    10. contains for associative containers
    11. std::bit_cast
    12. std::midpoint
    13. std::to_array
    14. std::bind_front
    15. std::erase/std::erase_if (uniform container erasure)
    16. Three-way comparison helpers (spaceship operator helpers)
    17. std::lexicographical_compare_three_way
    18. std::views
    19. std::ranges
  15. C++23
  16. Language features
    1. if consteval
    2. Deducing this
    3. Multidimensional [] operator
    4. [[assume]] attribute
    5. size_t literal suffix
    6. #elifdef/#elifndef
    7. static operator()
    8. auto(x) (decay copy)
    9. Lambda without parentheses
    10. #warning directive
    11. static_assert(false) in templates
    12. import std;
  17. Library features
    1. std::print/std::println
    2. std::expected
    3. std::flat_map
    4. std::mdspan
    5. std::ranges::contains
    6. std::ranges::fold_left
    7. std::byteswap
    8. std::to_underlying
    9. std::unreachable
    10. Monadic operations for std::optional
    11. std::stacktrace
    12. std::views::zip
    13. std::views::chunk
    14. std::views::enumerate
    15. std::move_only_function
    16. std::string::contains
    17. constexpr std::unique_ptr
    18. Formatting ranges and tuples