C and C++ reference
The site is in a temporary read-only mode to facilitate some long-overdue software updates. We apologize for any inconvenience this may cause!
C++ reference 
C++11, C++14, C++17, C++20, C++23, C++26  │  Compiler support C++11, C++14, C++17, C++20, C++23, C++26 
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
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)
Assertions − System error (C++11)
Exception types − Error numbers 
basic_stacktrace (C++23)
Debugging support (C++26)
Allocators − Smart pointers 
Memory resources (C++17)
Metaprogramming library (C++11)
Type traits − ratio 
integer_sequence (C++14)
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)
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)
Ranges library (C++20)
Range factories − Range adaptors 
generator (C++23)
Numeric algorithms 
Execution policies (C++17)
Constrained algorithms (C++20)
basic_string − char_traits 
basic_string_view (C++17)
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
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
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)
Standard library extensions (library fundamentals TS)
Standard library extensions v2 (library fundamentals TS v2)
Standard library extensions v3 (library fundamentals TS v3)
Parallelism library extensions v2 
(parallelism TS v2)
Concurrency library extensions 
(concurrency TS)
Transactional Memory   (TM TS)
Reflection   (reflection TS)
C reference 
C89, C95, C99, C11, C17, C23  │  Compiler support C99, C23 
   Dynamic memory extensions   (dynamic memory TR)
   Floating-point extensions, Part 1   (FP Ext 1 TS)
   Floating-point extensions, Part 4   (FP Ext 4 TS)
- 27 August 2025: Sorry for the delay, everyone. Finding the time to work on the upgrade has proven more challenging than expected. Hopefully we'll be able to get back to normal in the near future.
- 30 March 2025: The site will be in a temporary read-only mode in the next few weeks to facilitate some long-overdue software updates. Hopefully it won't take too long, but we all know how database migrations can sometimes turn evil. Please send any concerns/ideas/moral-support to comments@cppreference.com.
- 7 June 2019: New version of the offline archive