C++ reference C++98, C++03, C++11, C++14, C++17, C++20
Compiler support Freestanding implementations
Language
Basic concepts C++ Keywords Preprocessor Expressions Declaration Initialization Functions Statements Classes Templates Exceptions
Headers
Named requirements
Feature test macros (C++20)
Language support library
Type support − traits (C++11) Program utilities Relational comparators (C++20) numeric_limits − type_info initializer_list (C++11)
Concepts library (C++20)
Diagnostics library
General utilities library
Smart pointers and allocators 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)
Strings library
basic_string basic_string_view (C++17) Null-terminated strings: byte − multibyte − wide
Containers library
array (C++11) − vector map − unordered_map (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 Special math functions (C++17) Numeric algorithms Pseudo-random number generation Floating-point environment (C++11) complex − valarray
Input/output library
Stream-based I/O Synchronized output (C++20) I/O manipulators
Localizations library
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)
Filesystem library (C++17)
Standard library extensions (library fundamentals TS) Standard library extensions v2 (library fundamentals TS v2)
propagate_const — observer_ptr — source_location ostream_joiner — detection idiom — uniform container erasure
Concurrency library extensions (concurrency TS) Concepts (concepts TS) Ranges (ranges TS) Transactional Memory (TM TS)
C reference C89, C95, C99, C11, C17
Basic concepts C 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)