Spec-Zone.ru › C++

Заголовок стандартной библиотеки <cstdint> (C++11)

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

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

Типы

int8_tint16_tint32_tint64_tintN_t
(необязательно)(необязательно)(необязательно)(необязательно)(необязательно)
знаковый целочисленный тип шириной ровно N бит (обычно 8, 16, 32 или 64) без битов заполнения
(псевдоним типа)
int_fast8_tint_fast16_tint_fast32_tint_fast64_tint_fastN_t
(необязательно)
самый быстрый знаковый целочисленный тип шириной не менее N бит (обычно 8, 16, 32 или 64)
(псевдоним типа)
int_least8_tint_least16_tint_least32_tint_least64_tint_leastN_t
(необязательно)
наименьший знаковый целочисленный тип шириной не менее N бит (обычно 8, 16, 32 или 64)
(если определён std::intN_t, std::int_leastN_t обозначает тот же тип)
(псевдоним типа)
intmax_t
знаковый целочисленный тип максимальной ширины
(псевдоним типа)
intptr_t
(необязательно до C++29)
знаковый целочисленный тип, способный хранить указатель на void
(псевдоним типа)
uint8_tuint16_tuint32_tuint64_tuintN_t
(необязательно)(необязательно)(необязательно)(необязательно)(необязательно)
беззнаковый целочисленный тип шириной ровно N бит (обычно 8, 16, 32 или 64) без битов заполнения
(псевдоним типа)
uint_fast8_tuint_fast16_tuint_fast32_tuint_fast64_tuint_fastN_t
(необязательно)
самый быстрый беззнаковый целочисленный тип шириной не менее N бит (обычно 8, 16, 32 или 64)
(псевдоним типа)
uint_least8_tuint_least16_tuint_least32_tuint_least64_tuint_leastN_t
(необязательно)
наименьший беззнаковый целочисленный тип шириной не менее N бит (обычно 8, 16, 32 или 64)
(если определён std::uintN_t, std::uint_leastN_t обозначает тот же тип)
(псевдоним типа)
uintmax_t
беззнаковый целочисленный тип максимальной ширины
(псевдоним типа)
uintptr_t
(необязательно до C++29)
беззнаковый целочисленный тип, способный хранить указатель на void
(псевдоним типа)

Макросы

Знаковые целые числа: ширина в битах
INTN_WIDTH
(C++26)(присутствует при определённых условиях)
ширина в битах типа std::intN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
INT_FASTN_WIDTH
(C++26)(присутствует при определённых условиях)
ширина в битах типа std::int_fastN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
INT_LEASTN_WIDTH
(C++26)(присутствует при определённых условиях)
ширина в битах типа std::int_leastN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
INTMAX_WIDTH
(C++26)
ширина в битах типа std::intmax_t
(макроконстанта)
INTPTR_WIDTH
(C++26)(присутствует при определённых условиях)
ширина в битах типа std::intptr_t
(макроконстанта)
Знаковые целые числа: минимальное значение
INTN_MIN
(присутствует при определённых условиях)
минимальное значение типа std::intN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
INT_FASTN_MIN
(присутствует при определённых условиях)
минимальное значение типа std::int_fastN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
INT_LEASTN_MIN
(присутствует при определённых условиях)
минимальное значение типа std::int_leastN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
INTMAX_MIN
минимальное значение типа std::intmax_t
(макроконстанта)
INTPTR_MIN
(присутствует при определённых условиях)
минимальное значение типа std::intptr_t
(макроконстанта)
Знаковые целые числа: максимальное значение
INTN_MAX
(присутствует при определённых условиях)
максимальное значение типа std::intN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
INT_FASTN_MAX
(присутствует при определённых условиях)
максимальное значение типа std::int_fastN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
INT_LEASTN_MAX
(присутствует при определённых условиях)
максимальное значение типа std::int_leastN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
INTMAX_MAX
максимальное значение типа std::intmax_t
(макроконстанта)
INTPTR_MAX
(присутствует при определённых условиях)
максимальное значение типа std::intptr_t
(макроконстанта)
Беззнаковые целые числа: ширина в битах
UINTN_WIDTH
(C++26)(присутствует при определённых условиях)
ширина в битах типа std::uintN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
UINT_FASTN_WIDTH
(C++26)(присутствует при определённых условиях)
ширина в битах типа std::uint_fastN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
UINT_LEASTN_WIDTH
(C++26)(присутствует при определённых условиях)
ширина в битах типа std::uint_leastN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
UINTMAX_WIDTH
(C++26)
ширина в битах типа std::uintmax_t
(макроконстанта)
UINTPTR_WIDTH
(C++26)(присутствует при определённых условиях)
ширина в битах типа std::uintptr_t
(макроконстанта)
Беззнаковые целые числа: максимальное значение
UINTN_MAX
(присутствует при определённых условиях)
максимальное значение типа std::uintN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
UINT_FASTN_MAX
(присутствует при определённых условиях)
максимальное значение типа std::uint_fastN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
UINT_LEASTN_MAX
(присутствует при определённых условиях)
максимальное значение типа std::uint_leastN_t (N обычно равно 8, 16, 32 или 64)
(макроконстанта)
UINTMAX_MAX
максимальное значение типа std::uintmax_t
(макроконстанта)
UINTPTR_MAX
(присутствует при определённых условиях)
максимальное значение типа std::uintptr_t
(макроконстанта)
Характеристики других целочисленных типов
PTRDIFF_WIDTH
(C++26)
ширина в битах типа std::ptrdiff_t
(макроконстанта)
PTRDIFF_MIN
минимальное значение типа std::ptrdiff_t
(макроконстанта)
PTRDIFF_MAX
максимальное значение типа std::ptrdiff_t
(макроконстанта)
SIZE_WIDTH
(C++26)
ширина в битах типа std::size_t
(макроконстанта)
SIZE_MAX
максимальное значение типа std::size_t
(макроконстанта)
SIG_ATOMIC_WIDTH
(C++26)
ширина в битах типа std::sig_atomic_t
(макроконстанта)
SIG_ATOMIC_MIN
минимальное значение типа std::sig_atomic_t
(макроконстанта)
SIG_ATOMIC_MAX
максимальное значение типа std::sig_atomic_t
(макроконстанта)
WINT_WIDTH
(C++26)
ширина в битах типа std::wint_t
(макроконстанта)
WINT_MIN
минимальное значение типа std::wint_t
(макроконстанта)
WINT_MAX
максимальное значение типа std::wint_t
(макроконстанта)
WCHAR_WIDTH
(C++26)
ширина в битах типа wchar_t
(макроконстанта)
WCHAR_MIN
минимальное значение типа wchar_t
(макроконстанта)
WCHAR_MAX
максимальное значение типа wchar_t
(макроконстанта)
Функциональные макросы для целочисленных констант
INTN_C
(присутствует при определённых условиях)
раскрывается в целочисленное константное выражение типа std::int_leastN_t; его значение задаётся аргументом
(функциональный макрос)
INTMAX_C
раскрывается в целочисленное константное выражение типа std::intmax_t; его значение задаётся аргументом
(функциональный макрос)
UINTN_C
(присутствует при определённых условиях)
раскрывается в целочисленное константное выражение типа std::uint_leastN_t; его значение задаётся аргументом
(функциональный макрос)
UINTMAX_C
раскрывается в целочисленное константное выражение типа std::uintmax_t; его значение задаётся аргументом
(функциональный макрос)

Примечание

Для каждого из перечисленных выше имён псевдонимов типов, отмеченных как (необязательно), реализация определяет его тогда и только тогда, когда она предоставляет соответствующий тип.

Для каждого из перечисленных выше макросов, отмеченных как (присутствует при определённых условиях), реализация определяет его тогда и только тогда, когда она определяет соответствующее имя псевдонима типа.

Сводка

// all freestanding
#define __STDC_VERSION_STDINT_H__ 202311L

namespace std {
  using int8_t = /* implementation-defined */;     // optional
  using int16_t = /* implementation-defined */;    // optional
  using int32_t = /* implementation-defined */;    // optional
  using int64_t = /* implementation-defined */;    // optional
  using int/*N*/_t = /* see description */;        // optional

  using int_fast8_t = /* implementation-defined */;
  using int_fast16_t = /* implementation-defined */;
  using int_fast32_t = /* implementation-defined */;
  using int_fast64_t = /* implementation-defined */;
  using int_fast/*N*/_t = /* see description */;   // optional

  using int_least8_t = /* implementation-defined */;
  using int_least16_t = /* implementation-defined */;
  using int_least32_t = /* implementation-defined */;
  using int_least64_t = /* implementation-defined */;
  using int_least/*N*/_t = /* see description */;  // optional

  using intmax_t = /* implementation-defined */;
  using intptr_t = /* implementation-defined */;   // optional

  using uint8_t = /* implementation-defined */;    // optional
  using uint16_t = /* implementation-defined */;   // optional
  using uint32_t = /* implementation-defined */;   // optional
  using uint64_t = /* implementation-defined */;   // optional
  using uint/*N*/_t = /* see description */;       // optional

  using uint_fast8_t = /* implementation-defined */;
  using uint_fast16_t = /* implementation-defined */;
  using uint_fast32_t = /* implementation-defined */;
  using uint_fast64_t = /* implementation-defined */;
  using uint_fast/*N*/_t = /* see description */;  // optional

  using uint_least8_t = /* implementation-defined */;
  using uint_least16_t = /* implementation-defined */;
  using uint_least32_t = /* implementation-defined */;
  using uint_least64_t = /* implementation-defined */;
  using uint_least/*N*/_t = /* see description */; // optional

  using uintmax_t = /* implementation-defined */;
  using uintptr_t = /* implementation-defined */;  // optional
}

#define INT/*N*/_MIN                               /* see description */
#define INT/*N*/_MAX                               /* see description */
#define UINT/*N*/_MAX                              /* see description */
#define INT/*N*/_WIDTH                             /* see description */
#define UINT/*N*/_WIDTH                            /* see description */

#define INT_FAST/*N*/_MIN                          /* see description */
#define INT_FAST/*N*/_MAX                          /* see description */
#define UINT_FAST/*N*/_MAX                         /* see description */
#define INT_FAST/*N*/_WIDTH                        /* see description */
#define UINT_FAST/*N*/_WIDTH                       /* see description */

#define INT_LEAST/*N*/_MIN                         /* see description */
#define INT_LEAST/*N*/_MAX                         /* see description */
#define UINT_LEAST/*N*/_MAX                        /* see description */
#define INT_LEAST/*N*/_WIDTH                       /* see description */
#define UINT_LEAST/*N*/_WIDTH                      /* see description */

#define INTMAX_MIN                                 /* see description */
#define INTMAX_MAX                                 /* see description */
#define UINTMAX_MAX                                /* see description */
#define INTMAX_WIDTH                               /* see description */
#define UINTMAX_WIDTH                              /* see description */

#define INTPTR_MIN /* see description */           // optional
#define INTPTR_MAX /* see description */           // optional
#define UINTPTR_MAX /* see description */          // optional
#define INTPTR_WIDTH /* see description */         // optional
#define UINTPTR_WIDTH /* see description */        // optional

#define PTRDIFF_MIN                                /* see description */
#define PTRDIFF_MAX                                /* see description */
#define PTRDIFF_WIDTH                              /* see description */
#define SIZE_MAX                                   /* see description */
#define SIZE_WIDTH                                 /* see description */

#define SIG_ATOMIC_MIN                             /* see description */
#define SIG_ATOMIC_MAX                             /* see description */
#define SIG_ATOMIC_WIDTH                           /* see description */

#define WCHAR_MIN                                  /* see description */
#define WCHAR_MAX                                  /* see description */
#define WCHAR_WIDTH                                /* see description */

#define WINT_MIN                                   /* see description */
#define WINT_MAX                                   /* see description */
#define WINT_WIDTH                                 /* see description */

#define INT/*N*/_C(value)                          /* see description */
#define UINT/*N*/_C(value)                         /* see description */
#define INTMAX_C(value)                            /* see description */
#define UINTMAX_C(value)                           /* see description */

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API