C++ reference C++98, C++03, C++11, C++14, C++17, C++20, C++23 │ Compiler support C++11, C++14, C++17, C++20, C++23
Language
Basic concepts Keywords Preprocessor Expressions Declaration Initialization Functions Statements Classes Overloading Templates Exceptions
Headers
Named requirements
Feature test macros (C++20)
Language support library
Source code information (C++20) Type support Program utilities Coroutine support (C++20) Three-way comparison (C++20) numeric_limits − type_info initializer_list (C++11)
Concepts library (C++20)
Metaprogramming library (C++11)
Type traits − ratio integer_sequence (C++14)
Diagnostics library
basic_stacktrace (C++23)
Memory management library
unique_ptr (C++11) shared_ptr (C++11)
General utilities library
Function objects − hash (C++11) Utility functions pair − tuple (C++11) optional (C++17) − any (C++17) variant (C++17) String conversions (C++17) Formatting (C++20) Bit manipulation (C++20)
Strings library
basic_string basic_string_view (C++17) Null-terminated strings: byte − multibyte − wide
Containers library
array (C++11) − vector − deque list − forward_list (C++11) map − multimap set − multiset unordered_map (C++11)unordered_multimap (C++11) unordered_set (C++11)unordered_multiset (C++11) stack − queue − priority_queue span (C++20)
Iterators library
Ranges library (C++20)
Algorithms library
Constrained algorithms (C++20)
Numerics library
Common math functions Mathematical special functions (C++17) Mathematical constants (C++20) Numeric algorithms Pseudo-random number generation Floating-point environment (C++11) complex − valarray
Date and time library
Localizations library
Input/output library
Stream-based I/O Synchronized output (C++20) I/O manipulators
Filesystem library (C++17)
Regular expressions library (C++11)
basic_regex − algorithms
Concurrency support library (C++11)
atomic − atomic_flag atomic_ref (C++20) thread − jthread (C++20) mutex condition_variable future − promise
Standard library extensions (library fundamentals TS)
resource_adaptor — invocation_type
Standard library extensions v2 (library fundamentals TS v2)
propagate_const — ostream_joiner — randint observer_ptr — detection idiom
Standard library extensions v3 (library fundamentals TS v3)
scope_exit — scope_fail — scope_success — unique_resource
Concurrency library extensions (concurrency TS) — Transactional Memory (TM TS) Reflection (reflection TS)
C reference C89, C95, C99, C11, C17, C23
Basic concepts Keywords Preprocessor Expressions Declaration Initialization Functions Statements
Type support
Program utilities
Variadic functions
Error handling
Dynamic memory management
Null-terminated strings: byte − multibyte − wide
Algorithms
Numerics
Common mathematical functions Floating-point environment (C99) Pseudo-random number generation Complex number arithmetic (C99) Type-generic math (C99)
Date and time utilities
Input/output support
Localization support
Concurrency support library (C11)
Dynamic memory extensions (dynamic memory TR) Floating-point extensions, Part 1 (FP Ext 1 TS) Floating-point extensions, Part 4 (FP Ext 4 TS)