◐ Shell
clean mode source ↗

Заголовочный файл стандартной библиотеки <cstdint> (C++11) — cppreference.com

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

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

Типы

int8_tint16_tint32_tint64_t

(необязательно)

целочисленный тип со знаком шириной ровно 8, 16, 32 и 64 бита соответственно без битов заполнения и с использованием дополнения до 2 для отрицательных значений (при условии и только если реализация напрямую поддерживает тип)
(определение типа) [править]

int_fast8_tint_fast16_tint_fast32_tint_fast64_t

самый быстрый целочисленный тип со знаком шириной не менее 8, 16, 32 и 64 бит соответственно
(определение типа) [править]

int_least8_tint_least16_tint_least32_tint_least64_t

наименьший целочисленный тип со знаком шириной не менее 8, 16, 32 и 64 бит соответственно
(определение типа) [править]

intmax_t

целочисленный тип со знаком максимальной ширины
(определение типа) [править]

intptr_t

(необязательно)

целочисленный тип со знаком, способный содержать указатель на void
(определение типа) [править]

uint8_tuint16_tuint32_tuint64_t

(необязательно)

целочисленный тип без знака шириной ровно 8, 16, 32 и 64 бита соответственно
(при условии и только если реализация напрямую поддерживает этот тип)
(определение типа) [править]

uint_fast8_tuint_fast16_tuint_fast32_tuint_fast64_t

самый быстрый целочисленный тип без знака с шириной не менее 8, 16, 32 и 64 бит соответственно
(определение типа) [править]

uint_least8_tuint_least16_tuint_least32_tuint_least64_t

наименьший целочисленный тип без знака шириной не менее 8, 16, 32 и 64 бит соответственно
(определение типа) [править]

uintmax_t

беззнаковый целочисленный тип максимальной ширины
(определение типа) [править]

uintptr_t

(необязательно)

целочисленный тип без знака, способный содержать указатель на void
(определение типа) [править]

Макросы

Целые числа со знаком: минимальное значение

INT8_MININT16_MININT32_MININT64_MIN

(необязательно)

минимальное значение std::int8_t, std::int16_t, std::int32_t и std::int64_t соответственно
(макроконстанта) [править]

INT_FAST8_MININT_FAST16_MININT_FAST32_MININT_FAST64_MIN

минимальное значение std::int_fast8_t, std::int_fast16_t, std::int_fast32_t и std::int_fast64_t соответственно
(макроконстанта) [править]

INT_LEAST8_MININT_LEAST16_MININT_LEAST32_MININT_LEAST64_MIN

минимальное значение std::int_least8_t, std::int_least16_t, std::int_least32_t и std::int_least64_t соответственно
(макроконстанта) [править]

INTPTR_MIN

(необязательно)

минимальное значение std::intptr_t
(макроконстанта) [править]

INTMAX_MIN

минимальное значение std::intmax_t
(макроконстанта) [править]
Целые числа со знаком: максимальное значение

INT8_MAXINT16_MAXINT32_MAXINT64_MAX

(необязательно)

максимальное значение std::int8_t, std::int16_t, std::int32_t и std::int64_t соответственно
(макроконстанта) [править]

INT_FAST8_MAXINT_FAST16_MAXINT_FAST32_MAXINT_FAST64_MAX

максимальное значение std::int_fast8_t, std::int_fast16_t, std::int_fast32_t и std::int_fast64_t соответственно
(макроконстанта) [править]

INT_LEAST8_MAXINT_LEAST16_MAXINT_LEAST32_MAXINT_LEAST64_MAX

максимальное значение std::int_least8_t, std::int_least16_t, std::int_least32_t и std::int_least64_t соответственно
(макроконстанта) [править]

INTPTR_MAX

(необязательно)

максимальное значение std::intptr_t
(макроконстанта) [править]

INTMAX_MAX

максимальное значение std::intmax_t
(макроконстанта) [править]
Целые числа без знака: максимальное значение

UINT8_MAXUINT16_MAXUINT32_MAXUINT64_MAX

(необязательно)

максимальное значение std::uint8_t, std::uint16_t, std::uint32_t и std::uint64_t соответственно
(макроконстанта) [править]

UINT_FAST8_MAXUINT_FAST16_MAXUINT_FAST32_MAXUINT_FAST64_MAX

максимальное значение std::uint_fast8_t, std::uint_fast16_t, std::uint_fast32_t и std::uint_fast64_t соответственно
(макроконстанта) [править]

UINT_LEAST8_MAXUINT_LEAST16_MAXUINT_LEAST32_MAXUINT_LEAST64_MAX

максимальное значение std::uint_least8_t, std::uint_least16_t, std::uint_least32_t и std::uint_least64_t соответственно
(макроконстанта) [править]

UINTPTR_MAX

(необязательно)

максимальное значение 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_CINT16_CINT32_CINT64_C

расширяется до целочисленного константного выражения, имеющего значение, указанное его аргументом, и тип которого является расширенным типом std::int_least8_t, std::int_least16_t, std::int_least32_t и std::int_least64_t соответственно
(функция-макрос) [править]

INTMAX_C

расширяется до целочисленного константного выражения, имеющего значение, указанное его аргументом, и тип std::intmax_t
(функция-макрос) [править]

UINT8_CUINT16_CUINT32_CUINT64_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         = /* целочисленный тип со знаком */;   // необязательно
  using int16_t        = /* целочисленный тип со знаком */;   // необязательно
  using int32_t        = /* целочисленный тип со знаком */;   // необязательно
  using int64_t        = /* целочисленный тип со знаком */;   // необязательно
  using intN_t         = /* смотрите описание */;       // необязательно, смотрите описание

  using int_fast8_t    = /* целочисленный тип со знаком */;
  using int_fast16_t   = /* целочисленный тип со знаком */;
  using int_fast32_t   = /* целочисленный тип со знаком */;
  using int_fast64_t   = /* целочисленный тип со знаком */;
  using int_fastN_t    = /* смотрите описание */;       // необязательно, смотрите описание

  using int_least8_t   = /* целочисленный тип со знаком */;
  using int_least16_t  = /* целочисленный тип со знаком */;
  using int_least32_t  = /* целочисленный тип со знаком */;
  using int_least64_t  = /* целочисленный тип со знаком */;
  using int_leastN_t   = /* смотрите описание */;       // необязательно, смотрите описание

  using intmax_t       = /* целочисленный тип со знаком */;
  using intptr_t       = /* целочисленный тип со знаком */;   // необязательно

  using uint8_t        = /* беззнаковый целочисленный тип */; // необязательно
  using uint16_t       = /* беззнаковый целочисленный тип */; // необязательно
  using uint32_t       = /* беззнаковый целочисленный тип */; // необязательно
  using uint64_t       = /* беззнаковый целочисленный тип */; // необязательно
  using uintN_t        = /* смотрите описание */;       // необязательно, смотрите описание

  using uint_fast8_t   = /* беззнаковый целочисленный тип */;
  using uint_fast16_t  = /* беззнаковый целочисленный тип */;
  using uint_fast32_t  = /* беззнаковый целочисленный тип */;
  using uint_fast64_t  = /* беззнаковый целочисленный тип */;
  using uint_fastN_t   = /* смотрите описание */;       // необязательно, смотрите описание

  using uint_least8_t  = /* беззнаковый целочисленный тип */;
  using uint_least16_t = /* беззнаковый целочисленный тип */;
  using uint_least32_t = /* беззнаковый целочисленный тип */;
  using uint_least64_t = /* беззнаковый целочисленный тип */;
  using uint_leastN_t  = /* смотрите описание */;       // необязательно, смотрите описание

  using uintmax_t      = /* беззнаковый целочисленный тип */;
  using uintptr_t      = /* беззнаковый целочисленный тип */; // необязательно
}

#define INTN_MIN         /* смотрите описание */
#define INTN_MAX         /* смотрите описание */
#define UINTN_MAX        /* смотрите описание */

#define INT_FASTN_MIN    /* смотрите описание */
#define INT_FASTN_MAX    /* смотрите описание */
#define UINT_FASTN_MAX   /* смотрите описание */

#define INT_LEASTN_MIN   /* смотрите описание */
#define INT_LEASTN_MAX   /* смотрите описание */
#define UINT_LEASTN_MAX  /* смотрите описание */

#define INTMAX_MIN       /* смотрите описание */
#define INTMAX_MAX       /* смотрите описание */
#define UINTMAX_MAX      /* смотрите описание */

#define INTPTR_MIN       /* смотрите описание */        // необязательно
#define INTPTR_MAX       /* смотрите описание */        // необязательно
#define UINTPTR_MAX      /* смотрите описание */        // необязательно

#define PTRDIFF_MIN      /* смотрите описание */
#define PTRDIFF_MAX      /* смотрите описание */
#define SIZE_MAX         /* смотрите описание */

#define SIG_ATOMIC_MIN   /* смотрите описание */
#define SIG_ATOMIC_MAX   /* смотрите описание */

#define WCHAR_MIN        /* смотрите описание */
#define WCHAR_MAX        /* смотрите описание */

#define WINT_MIN         /* смотрите описание */
#define WINT_MAX         /* смотрите описание */

#define INTN_C(value)    /* смотрите описание */
#define UINTN_C(value)   /* смотрите описание */
#define INTMAX_C(value)  /* смотрите описание */
#define UINTMAX_C(value) /* смотрите описание */