c ++ 11有像quint8这样的东西吗?

cam*_*ino 5 c++ qt c++11 qtcore

Qt中有一些类型,例如在Qt支持的所有平台上保证为8位的quint8.

我想知道C++ 11是否有这种类型?如果没有,那么替代方案是什么?

谢谢.

Lst*_*tor 14

是的,C++ 11添加了具有更精确定义大小的类型.这是参考.

它们的定义是<cstdint>.

你保证有这些:

intmax_t        uintmax_t

int_least8_t    uint_least8_t
int_least16_t   uint_least16_t
int_least32_t   uint_least32_t
int_least64_t   uint_least64_t

int_fast8_t     uint_fast8_t
int_fast16_t    uint_fast16_t
int_fast32_t    uint_fast32_t
int_fast64_t    uint_fast64_t
Run Code Online (Sandbox Code Playgroud)

您可能有也可能没有这些:

int8_t          uint8_t 
int16_t         uint16_t
int32_t         uint32_t
int64_t         uint64_t

intptr_t        uintptr_t
Run Code Online (Sandbox Code Playgroud)

说明:

  • u前缀是指无符号.
  • 所述least变体可与至少该宽度的最小整数类型.
  • 所述fast变体可与至少该宽度最快整数类型.
  • intptr变种都保证可转换为void*和背部.
  • max变种是最大可用的类型.