# C and C++ reference

From cppreference.com

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)

Technical specifications 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)
External Links − Non-ANSI/ISO Libraries − Index − std Symbol Index
C reference C89, C95, C99, C11, C17

Language

Basic concepts
C Keywords
Preprocessor
Expressions
Declaration
Initialization
Functions
Statements

Headers

Type support

Program utilities

Variadic functions

Error handling

Dynamic memory management

Date and time utilities

Strings library

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)

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

- 28 October 2018: New version of the offline archive

- 11 March 2018: New version of the offline archive

- 1 December 2017: ISO C++17 published.

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=Main_Page&oldid=110059"