C++ reference C++11, C++14, C++17, C++20, C++23, C++26, C++29 Compiler support C++11, C++14, C++17, C++20, C++23, C++26, C++29
Language
Preprocessor Comments ASCII chart Basic concepts Keywords Names (lookup) Types (fundamental types) The main function Modules (C++20) Contracts (C++26) Expressions Value categories Evaluation order Operators (precedence) Conversions Literals Constant expressions Statements if switch for range-for (C++11) while do-while Declarations Initialization Functions Overloading Coroutines (C++20) Classes (unions) Templates Exceptions Freestanding implementations
main
for
do
while
Standard library (headers)
Named requirements
Language support library
Program utilities Signals Non-local jumps Basic memory management Variadic functions source_location (C++20) Comparison utilities (C++20) Type support type_info numeric_limits exception initializer_list (C++11) Coroutine support (C++20) Contract support (C++26)
Concepts library (C++20)
Diagnostics library
Assertions System error (C++11) Exception types Error numbers basic_stacktrace (C++23) Debugging support (C++26)
Memory management library
Allocators Smart pointers Memory resources (C++17)
Metaprogramming library (C++11)
Type traits ratio integer_sequence (C++14) Reflection (C++26)
General utilities library
Function objects hash (C++11) Swap Type operations (C++11) Integer comparison (C++20) pair tuple (C++11) optional (C++17) expected (C++23) variant (C++17) any (C++17) bitset Bit manipulation (C++20)
Containers library
vector deque array (C++11) list forward_list (C++11) inplace_vector (C++26) hive (C++26) map multimap set multiset unordered_map (C++11)unordered_multimap (C++11) unordered_set (C++11)unordered_multiset (C++11) Container adaptors span (C++20) mdspan (C++23)
Iterators library
Ranges library (C++20)
Range factories Range adaptors generator (C++23)
Algorithms library
Numeric algorithms Execution policies (C++17) Constrained algorithms (C++20)
Strings library
basic_string char_traits basic_string_view (C++17)
Text processing library
Primitive numeric conversions (C++17) Formatting (C++20) Localization text_encoding (C++26) Regular expressions (C++11) basic_regex Algorithms Default regular expression grammar Null-terminated sequence utilities: byte multibyte wide
Numerics library
Common math functions Mathematical special functions (C++17) Mathematical constants (C++20) Basic linear algebra algorithms (C++26) Data-parallel types (SIMD) (C++26) Pseudo-random number generation Floating-point environment (C++11) complex valarray
Date and time library
Calendar (C++20) Time zone (C++20)
Input/output library
Print functions (C++23) Stream-based I/O I/O manipulators basic_istream basic_ostream Synchronized output (C++20) File systems (C++17)
Concurrency support library (C++11)
thread jthread (C++20) atomic atomic_flag atomic_ref (C++20) memory_order Mutual exclusion Condition variables Futures Semaphores (C++20) latch (C++20) barrier (C++20)Safe Reclamation (C++26)
Execution support library (C++26)
Feature test macros (C++20)
Language Standard library Headers
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
Parallelism library extensions v2(parallelism TS v2)
simd
Concurrency library extensions(concurrency TS) Transactional Memory (TM TS)
C reference C89, C95, C99, C11, C17, C23 Compiler support C99, C23
Basic concepts Keywords Preprocessor Expressions Declaration Initialization Functions Statements
Headers
Type support
Program utilities
Variadic functions
Dynamic memory management
Null-terminated strings: byte multibyte wide
Localization library
Common mathematical functions Floating-point environment (C99) Pseudo-random number generation Complex number arithmetic (C99) Type-generic math (C99) Bit manipulation (C23) Checked integer arithmetic (C23)
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)