Namespaces
Variants
Actions
ads via Carbon Implementation patterns and tools from AWS experts. Less research. More building. ads via Carbon

C and C++ reference

From cppreference.com

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

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

Standard library (headers)

Named requirements

Language support library

Concepts library (C++20)

Diagnostics library

Memory management library

Metaprogramming library (C++11)

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)

Algorithms library

Strings library

Text processing library

Numerics library

Date and time library

Calendar (C++20) βˆ’ Time zone (C++20)

Input/output library

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

Technical specifications

    Standard library extensions  (library fundamentals TS)

    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)

Concurrency library extensions
(concurrency TS)
Transactional Memory  (TM TS)
Reflection  (reflection TS)

External Links  βˆ’  Non-ANSI/ISO Libraries  βˆ’  Index  βˆ’  std Symbol Index

C reference
C89, C95, C99, C11, C17, C23  β”‚  Compiler support C99, C23

Language

Headers

Type support

Program utilities

Variadic functions

Diagnostics library

Dynamic memory management

Strings library

Null-terminated strings:
   byte  βˆ’   multibyte  βˆ’   wide

Date and time library

Localization library

Input/output library

Algorithms library

Numerics library

Concurrency support library (C11)

Technical specifications

   Dynamic memory extensions  (dynamic memory TR)
   Floating-point extensions, Part 1  (FP Ext 1 TS)
   Floating-point extensions, Part 4  (FP Ext 4 TS)

External Links  βˆ’  Non-ANSI/ISO Libraries  βˆ’  Index  βˆ’  Symbol Index
News
  • 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.