cpp / latest / types.html /

Type support (basic types, RTTI)

See also type system overview and fundamental types defined by the language.

Additional basic types and macros

Defined in header <cstddef>
unsigned integer type returned by the sizeof operator
(typedef)
signed integer type returned when subtracting two pointers
(typedef)
(C++11)
the type of the null pointer literal nullptr
(typedef)
implementation-defined null pointer constant
(macro constant)
(C++11)
trivial type with alignment requirement as great as any other scalar type
(typedef)
byte offset from the beginning of a standard-layout type to specified member
(function macro)
(C++17)
the byte type
(enum)
Defined in header <cstdbool> (deprecated) (until C++20)
Defined in header <stdbool.h>
__bool_true_false_are_defined
(C++11)
C compatibility macro constant, expands to integer literal 1
(macro constant)
Defined in header <cstdalign> (deprecated) (until C++20)
Defined in header <stdalign.h>
__alignas_is_defined
(C++11)
C compatibility macro constant, expands to integer literal 1
(macro constant)

Fixed width integer types (since C++11)

Numeric limits

Defined in header <limits>
provides an interface to query properties of all fundamental numeric types.
(class template)

C numeric limits interface

Runtime type identification

Defined in header <typeinfo>
contains some type's information, generated by the implementation.
This is the class returned by the typeid operator.
(class)
exception that is thrown if an argument in a typeid expression is null
(class)
exception that is thrown by an invalid dynamic_cast expression, i.e. a cast of reference type fails
(class)
Defined in header <typeindex>
(C++11)
wrapper around a type_info object, that can be used as index in associative and unordered associative containers
(class)

See also

C documentation for Type support library

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/types