Indicates that the variable or function parameter has an indeterminate value if it is not initialized.| en.cppreference.com
This page is maintained as best-effort and may lag behind most recent compiler releases. If you see something is out-of-date, please help us by updating it! | en.cppreference.com
Reduces (folds) a pack over a binary operator.| en.cppreference.com
* - hover over a cell marked with the star * to see additional pop-up notes.| en.cppreference.com
Defined in header <optional>| en.cppreference.com
A non-static member function is a function that is declared in a member specification of a class without a static or friend specifier| en.cppreference.com
A function object is any object for which the function call operator is defined. C++ provides many built-in function objects as well as support for creation and manipulation of new function objects.| en.cppreference.com
The preprocessor supports text macro replacement. Function-like text macro replacement is also supported.| en.cppreference.com
Allows a function to accept any number of extra arguments.| en.cppreference.com
Defined in header <math.h>| en.cppreference.com
Classes are user-defined types, defined by class-specifier, which appears in decl-specifier-seq of the declaration syntax.| en.cppreference.com
Converts between types using a combination of explicit and implicit conversions.| en.cppreference.com
For basic types and string types, the format specification is based on the format specification in Python.| en.cppreference.com
A function template defines a family of functions.| en.cppreference.com
A function object is any object for which the function call operator is defined. C++ provides many built-in function objects as well as support for creation and manipulation of new function objects.| en.cppreference.com
Defined in header <execution>| en.cppreference.com
Defined in header <thread>| en.cppreference.com
Every template is parameterized by one or more template parameters.| en.cppreference.com
Specifies that a virtual function overrides another virtual function.| en.cppreference.com
Contents| en.cppreference.com
(See also type for type system overview and the list of type-related utilities that are provided by the C++ library)| en.cppreference.com
Class templates, function templates (including generic lambdas), and other templated functions (typically members of class templates) might be associated with a constraint , which specifies the requirements on template arguments, which can be used to select the most appropriate function overloads and template specializations.| en.cppreference.com
Converts between types by reinterpreting the underlying bit pattern.| en.cppreference.com
Integral constant expression (C++98)| en.cppreference.com
Defined in header <functional>| en.cppreference.com
This header was originally in the C standard library as <math.h>.| en.cppreference.com
Encapsulates strategies for access/addressing, allocation/deallocation and construction/destruction of objects.| en.cppreference.com
Introduces implementation-defined attributes for types, objects, code, etc.| en.cppreference.com
The storage class specifiers are a part of the decl-specifier-seq of a name's declaration syntax. Together with the scope of the name, they control two independent properties of the name: its storage duration and its linkage.| en.cppreference.com
Definitions are declarations that fully define the entity introduced by the declaration. Every declaration is a definition, except for the following:| en.cppreference.com
C| en.cppreference.com
Defined in header <stdio.h>| en.cppreference.com
Defined in header <system_error>| en.cppreference.com
Defined in header <algorithm>| en.cppreference.com
C++| en.cppreference.com
Defined in header <future>| en.cppreference.com
Sets the initial value of an object to zero.| en.cppreference.com
This is the initialization performed when an object is constructed with an empty initializer.| en.cppreference.com
This is the initialization performed when an object is constructed with no initializer.| en.cppreference.com
Defined in header <memory_resource>| en.cppreference.com
Defined in header <memory>| en.cppreference.com
Defined in header <cstring>| en.cppreference.com
The C++ numerics library includes common mathematical functions and types, as well as optimized numeric arrays and support for random number generation.| en.cppreference.com
Defined in header <type_traits>| en.cppreference.com
The algorithms library defines functions for a variety of purposes (e.g. searching, sorting, counting, manipulating) that operate on ranges of elements. Note that a range is defined as [first,last) where last refers to the element past the last element to inspect or modify.| en.cppreference.com
Defined in header <algorithm>| en.cppreference.com
Defined in header <algorithm>| en.cppreference.com
Defined in header <algorithm>| en.cppreference.com
Defined in header <algorithm>| en.cppreference.com
Defined in header <algorithm>| en.cppreference.com
Defined in header <algorithm>| en.cppreference.com
Defined in header <algorithm>| en.cppreference.com
Defined in header <algorithm>| en.cppreference.com
Defined in header <map>| en.cppreference.com
Enables implicit conversion or explicit conversion from a class type to another type.| en.cppreference.com
Specifies whether a function could throw exceptions.| en.cppreference.com
Defined in header <chrono>| en.cppreference.com
Defined in header <span>| en.cppreference.com
Defined in header <array>| en.cppreference.com
C++ includes built-in support for threads, atomic operations, mutual exclusion, condition variables, and futures.| en.cppreference.com
Each C++ expression (an operator with its operands, a literal, a variable name, etc.) is characterized by two independent properties: a type and a value category. Each expression has some non-reference type, and each expression belongs to exactly one of the three primary value categories: prvalue, xvalue, and lvalue.| en.cppreference.com
Initialization of a variable provides its initial value at the time of construction. | en.cppreference.com
Defined in header <memory>| en.cppreference.com
The random number library provides classes that generate random and pseudo-random numbers. These classes include:| en.cppreference.com
Renders the entire program meaningless if certain rules of the language are violated.| en.cppreference.com
Creates and initializes objects with dynamic storage duration, that is, objects whose lifetime is not necessarily limited by the scope in which they were created.| en.cppreference.com
A LegacyInputIterator is a LegacyIterator that can read from the pointed-to element. LegacyInputIterators only guarantee validity for single pass algorithms: once a LegacyInputIterator i has been incremented, all copies of its previous value may be invalidated.| en.cppreference.com
Iterators are a generalization of pointers that allow a C++ program to work with different data structures (for example, containers and ranges(since C++20)) in a uniform manner. The iterator library provides definitions for iterators, as well as iterator traits, adaptors, and utility functions.| en.cppreference.com
Allows the size of an empty base subobject to be zero.| en.cppreference.com
C++| en.cppreference.com
Compares the arguments.| en.cppreference.com
A coroutine is a function that can suspend execution to be resumed later. Coroutines are stackless: they suspend execution by returning to the caller, and the data that is required to resume execution is stored separately from the stack. This allows for sequential code that executes asynchronously (e.g. to handle non-blocking I/O without explicit callbacks), and also supports algorithms on lazy-computed infinite sequences and other uses.| en.cppreference.com
Defined in header <vector>| en.cppreference.com
Defined in header <string_view>| en.cppreference.com
Binds the specified names to subobjects or elements of the initializer.| en.cppreference.com
A move constructor is a constructor which can be called with an argument of the same class type and copies the content of the argument, possibly mutating the argument.| en.cppreference.com
Declares a named variable as a reference, that is, an alias to an already-existing object or function.| en.cppreference.com
A destructor is a special member function that is called when the lifetime of an object ends. The purpose of the destructor is to free the resources that the object may have acquired during its lifetime.| en.cppreference.com
Destroys object(s) previously allocated by the new-expression and releases obtained memory area.| en.cppreference.com
Attempts to allocate requested number of bytes, and the allocation request can fail (even if the requested number of bytes is zero). These allocation functions are called by new expressions to allocate memory in which new object would then be initialized. They may also be called using regular function call syntax.| en.cppreference.com
Defined in header <set>| en.cppreference.com
Executes a for loop over a range.| en.cppreference.com
C++| en.cppreference.com
[edit template]| en.cppreference.com
[edit template]| en.cppreference.com
The ranges library is an extension and generalization of the algorithms and iterator libraries that makes them more powerful by making them composable and less error-prone.| en.cppreference.com
Initializes an aggregate from an initializer list. It is a form of list-initialization(since C++11).| en.cppreference.com
An enumeration is a distinct type whose value is restricted to a range of values (see below for details), which may include several explicitly named constants ("enumerators").| en.cppreference.com
Order of evaluation of any part of any expression, including order of evaluation of function arguments is unspecified (with some exceptions listed below). The compiler can evaluate operands and other subexpressions in any order, and may choose another order when the same expression is evaluated again.| en.cppreference.com
Constructs a closure (an unnamed function object capable of capturing variables in scope).| en.cppreference.com
Defined in header <atomic>| en.cppreference.com
Defined in header <expected>| en.cppreference.com
Reduces (folds) a pack over a binary operator.| en.cppreference.com
The inline specifier, when used in a function's decl-specifier-seq, declares the function to be an inline function.| en.cppreference.com
In order to instantiate a class template, every template argument must be known, but not every template argument has to be specified. In the following contexts the compiler will deduce the template arguments from the type of the initializer:| en.cppreference.com
C| en.cppreference.com
The Containers library is a generic collection of class templates and algorithms that allow programmers to easily implement common data structures like queues, lists and stacks. There are two(until C++11)three(since C++11) classes of containers:| en.cppreference.com
Defined in header <string>| en.cppreference.com
Defined in header <optional>| en.cppreference.com
The C++ Extensions for Reflection, ISO/IEC TS 23619:2021, specifies modifications to the core language and defines new components for the C++ standard library listed on this page.| en.cppreference.com