Namespaces
Variants

Standard library header <cstdint> (C++11)

From cppreference.net
Standard library headers

Этот заголовок изначально находился в стандартной библиотеке C как <stdint.h> .

Этот заголовок является частью библиотеки поддержки типов , предоставляющей целочисленные типы фиксированной ширины и частью интерфейса числовых ограничений C .

Содержание

Типы

int8_t int16_t int32_t int64_t
(optional)
знаковый целочисленный тип с шириной точно 8, 16, 32 и 64 бита соответственно
без битов заполнения и использующий дополнительный код для отрицательных значений
(предоставляется тогда и только тогда, когда реализация напрямую поддерживает тип)
(typedef)
int_fast8_t int_fast16_t int_fast32_t int_fast64_t
самый быстрый знаковый целочисленный тип с шириной не менее 8, 16, 32 и 64 бит соответственно
(typedef)
int_least8_t int_least16_t int_least32_t int_least64_t
наименьший знаковый целочисленный тип с шириной не менее 8, 16, 32 и 64 бит соответственно
(typedef)
intmax_t
знаковый целочисленный тип максимальной ширины
(typedef)
intptr_t
(optional)
знаковый целочисленный тип, способный содержать указатель на void
(typedef)
uint8_t uint16_t uint32_t uint64_t
(optional)
беззнаковый целочисленный тип с шириной точно 8, 16, 32 и 64 бита соответственно
(предоставляется тогда и только тогда, когда реализация напрямую поддерживает данный тип)
(typedef)
uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t
самый быстрый беззнаковый целочисленный тип с шириной не менее 8, 16, 32 и 64 бит соответственно
(typedef)
uint_least8_t uint_least16_t uint_least32_t uint_least64_t
наименьший беззнаковый целочисленный тип с шириной не менее 8, 16, 32 и 64 бит соответственно
(typedef)
uintmax_t
целочисленный тип без знака максимальной ширины
(typedef)
uintptr_t
(optional)
беззнаковый целочисленный тип, способный хранить указатель на void
(typedef)

Макросы

Целочисленные типы со знаком : минимальное значение
INT8_MIN INT16_MIN INT32_MIN INT64_MIN
(optional)
минимальное значение std::int8_t , std::int16_t , std::int32_t и std::int64_t соответственно
(макроконстанта)
INT_FAST8_MIN INT_FAST16_MIN INT_FAST32_MIN INT_FAST64_MIN
минимальное значение std::int_fast8_t , std::int_fast16_t , std::int_fast32_t и std::int_fast64_t соответственно
(макрос-константа)
INT_LEAST8_MIN INT_LEAST16_MIN INT_LEAST32_MIN INT_LEAST64_MIN
минимальное значение std::int_least8_t , std::int_least16_t , std::int_least32_t и std::int_least64_t соответственно
(макрос-константа)
INTPTR_MIN
(optional)
минимальное значение std::intptr_t
(макрос-константа)
INTMAX_MIN
минимальное значение std::intmax_t
(макрос-константа)
Целочисленные типы со знаком : максимальное значение
INT8_MAX INT16_MAX INT32_MAX INT64_MAX
(опционально)
максимальное значение std::int8_t , std::int16_t , std::int32_t и std::int64_t соответственно
(макроконстанта)
INT_FAST8_MAX INT_FAST16_MAX INT_FAST32_MAX INT_FAST64_MAX
максимальное значение std::int_fast8_t , std::int_fast16_t , std::int_fast32_t и std::int_fast64_t соответственно
(макрос)
INT_LEAST8_MAX INT_LEAST16_MAX INT_LEAST32_MAX INT_LEAST64_MAX
максимальное значение std::int_least8_t , std::int_least16_t , std::int_least32_t и std::int_least64_t соответственно
(макрос)
INTPTR_MAX
(optional)
максимальное значение std::intptr_t
(макрос-константа)
INTMAX_MAX
максимальное значение std::intmax_t
(макрос-константа)
Беззнаковые целые числа: максимальное значение
UINT8_MAX UINT16_MAX UINT32_MAX UINT64_MAX
(опционально)
максимальное значение std::uint8_t , std::uint16_t , std::uint32_t и std::uint64_t соответственно
(макрос-константа)
UINT_FAST8_MAX UINT_FAST16_MAX UINT_FAST32_MAX UINT_FAST64_MAX
максимальное значение std::uint_fast8_t , std::uint_fast16_t , std::uint_fast32_t и std::uint_fast64_t соответственно
(макрос-константа)
UINT_LEAST8_MAX UINT_LEAST16_MAX UINT_LEAST32_MAX UINT_LEAST64_MAX
максимальное значение std::uint_least8_t , std::uint_least16_t , std::uint_least32_t и std::uint_least64_t соответственно
(макрос-константа)
UINTPTR_MAX
(optional)
максимальное значение std::uintptr_t
(макрос-константа)
UINTMAX_MAX
максимальное значение std::uintmax_t
(макрос)
Ограничения других целочисленных типов
PTRDIFF_MIN
(C++11)
минимальное значение std::ptrdiff_t
(макроконстанта)
PTRDIFF_MAX
(C++11)
максимальное значение std::ptrdiff_t
(макрос-константа)
SIZE_MAX
(C++11)
максимальное значение std::size_t
(макрос-константа)
SIG_ATOMIC_MIN
(C++11)
минимальное значение std::sig_atomic_t
(макроконстанта)
SIG_ATOMIC_MAX
(C++11)
максимальное значение std::sig_atomic_t
(макрос-константа)
WCHAR_MIN
(C++11)
минимальное значение wchar_t
(макрос-константа)
WCHAR_MAX
(C++11)
максимальное значение wchar_t
(макро-константа)
WINT_MIN
(C++11)
минимальное значение std::wint_t
(макроконстанта)
WINT_MAX
(C++11)
максимальное значение std::wint_t
(макрос-константа)
Макросы функций для целочисленных констант
INT8_C INT16_C INT32_C INT64_C
раскрывается в целочисленное константное выражение со значением, заданным его аргументом, и типом, соответствующим продвинутому типу std::int_least8_t , std::int_least16_t , std::int_least32_t и std::int_least64_t соответственно
(функциональный макрос)
INTMAX_C
раскрывается в целочисленное константное выражение со значением, заданным аргументом, и типом std::intmax_t
(функциональный макрос)
UINT8_C UINT16_C UINT32_C UINT64_C
раскрывается в целочисленное константное выражение со значением, указанным в аргументе, и типом, соответствующим продвинутому типу std::uint_least8_t , std::uint_least16_t , std::uint_least32_t и std::uint_least64_t соответственно
(функциональный макрос)
UINTMAX_C
раскрывается в целочисленное константное выражение со значением, указанным в аргументе, и типом std::uintmax_t
(функциональный макрос)

Синопсис

namespace std {
  using int8_t         = /* signed integer type */;   // опционально
  using int16_t        = /* signed integer type */;   // опционально
  using int32_t        = /* signed integer type */;   // опционально
  using int64_t        = /* signed integer type */;   // опционально
  using intN_t         = /* see description */;       // опционально, см. описание
  using int_fast8_t    = /* signed integer type */;
  using int_fast16_t   = /* signed integer type */;
  using int_fast32_t   = /* signed integer type */;
  using int_fast64_t   = /* signed integer type */;
  using int_fastN_t    = /* see description */;       // опционально, см. описание
  using int_least8_t   = /* signed integer type */;
  using int_least16_t  = /* signed integer type */;
  using int_least32_t  = /* signed integer type */;
  using int_least64_t  = /* signed integer type */;
  using int_leastN_t   = /* see description */;       // опционально, см. описание
  using intmax_t       = /* signed integer type */;
  using intptr_t       = /* signed integer type */;   // опционально
  using uint8_t        = /* unsigned integer type */; // опционально
  using uint16_t       = /* unsigned integer type */; // опционально
  using uint32_t       = /* unsigned integer type */; // опционально
  using uint64_t       = /* unsigned integer type */; // опционально
  using uintN_t        = /* see description */;       // опционально, см. описание
  using uint_fast8_t   = /* unsigned integer type */;
  using uint_fast16_t  = /* unsigned integer type */;
  using uint_fast32_t  = /* unsigned integer type */;
  using uint_fast64_t  = /* unsigned integer type */;
  using uint_fastN_t   = /* see description */;       // опционально, см. описание
  using uint_least8_t  = /* unsigned integer type */;
  using uint_least16_t = /* unsigned integer type */;
  using uint_least32_t = /* unsigned integer type */;
  using uint_least64_t = /* unsigned integer type */;
  using uint_leastN_t  = /* see description */;       // опционально, см. описание
  using uintmax_t      = /* unsigned integer type */;
  using uintptr_t      = /* unsigned integer type */; // опционально
}
#define INTN_MIN         /* see description */
#define INTN_MAX         /* see description */
#define UINTN_MAX        /* see description */
#define INT_FASTN_MIN    /* see description */
#define INT_FASTN_MAX    /* see description */
#define UINT_FASTN_MAX   /* see description */
#define INT_LEASTN_MIN   /* see description */
#define INT_LEASTN_MAX   /* see description */
#define UINT_LEASTN_MAX  /* see description */
#define INTMAX_MIN       /* see description */
#define INTMAX_MAX       /* see description */
#define UINTMAX_MAX      /* see description */
#define INTPTR_MIN       /* see description */        // опционально
#define INTPTR_MAX       /* see description */        // опционально
#define UINTPTR_MAX      /* see description */        // опционально
#define PTRDIFF_MIN      /* see description */
#define PTRDIFF_MAX      /* see description */
#define SIZE_MAX         /* see description */
#define SIG_ATOMIC_MIN   /* see description */
#define SIG_ATOMIC_MAX   /* see description */
#define WCHAR_MIN        /* see description */
#define WCHAR_MAX        /* see description */
#define WINT_MIN         /* see description */
#define WINT_MAX         /* see description */
#define INTN_C(value)    /* see description */
#define UINTN_C(value)   /* see description */
#define INTMAX_C(value)  /* see description */
#define UINTMAX_C(value) /* see description */