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 − traits (C++11) Program utilities Coroutine support (C++20) Three-way comparison (C++20) numeric_limits − type_info initializer_list (C++11)
Concepts library (C++20)
Diagnostics library
General utilities library
Smart pointers and allocators unique_ptr (C++11) shared_ptr (C++11) Date and time Function objects − hash (C++11) String conversions (C++17) Utility functions pair − tuple (C++11) optional (C++17) − any (C++17) variant (C++17) − format (C++20)
Strings library
basic_string basic_string_view (C++17) Null-terminated strings: byte − multibyte − wide
Containers library
array (C++11) − vector − deque map − unordered_map (C++11) set − unordered_set (C++11) priority_queue − span (C++20) Other containers: sequence − associative unordered associative − adaptors
Iterators library
Ranges library (C++20)
Algorithms library
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) Bit manipulation (C++20) complex − valarrayratio (C++11)
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
Atomic operations library (C++11)
atomic − atomic_flag atomic_ref (C++20)
Thread support library (C++11)
thread − mutexcondition_variable
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
Date and time utilities
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)
Input/output support
Localization support
Atomic operations library (C11)
Thread 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)