Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/types"

From cppreference.com
< cpp
(Defect reports: LWG4036)
m (See also: added link to type traits.)
 
Line 56: Line 56:
 
===See also===
 
===See also===
 
{{dsc begin}}
 
{{dsc begin}}
 +
{{dsc|[[cpp/meta#Type traits|Type traits and metaprogramming library]]}}
 
{{dsc see c|c/types|Type support library|nomono=true}}
 
{{dsc see c|c/types|Type support library|nomono=true}}
 
{{dsc end}}
 
{{dsc end}}
  
 
{{langlinks|de|es|fr|it|ja|pt|ru|zh}}
 
{{langlinks|de|es|fr|it|ja|pt|ru|zh}}

Latest revision as of 07:49, 9 April 2024

 
 
Utilities library
General utilities
Relational operators (deprecated in C++20)
 
Type support
 

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

Contents

[edit] Additional basic types and macros

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

[edit] Fixed width integer types (since C++11)

[edit] Fixed width floating-point types (since C++23)

[edit] Numeric limits

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

[edit] C numeric limits interface

[edit] Runtime type identification

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

[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 4036 C++11 __alignof_is_defined was underspecified in the C++ standard specified and deprecated

[edit] See also

Type traits and metaprogramming library
C documentation for Type support library