【发布时间】:2016-05-16 17:34:49
【问题描述】:
在 c++ 中,特别是 cstdint 头文件中,有一些 8 位整数类型,结果是带有 typedef 的 char 数据类型。谁能建议一个实际的 8 位整数类型?
【问题讨论】:
-
据我了解,
int8_t保证是一个 8 位整数,如果它被定义的话。您的实现 typedef 是char(或者可能是signed char)这一事实意味着您的实现的char实际上是 8 位。请注意,char及其亲属在 C 和 C++ 中始终是整数类型;这与其他一些不将字符视为算术类型的语言不同。 -
在更常见的实现中,
char是 8 位。如果不是 8 位,则不会有std::int8_t。 -
可以这样想:
char是字符串字符类型,不应该用于其他任何用途。unsigned char和signed char用作算术类型,对字符串字符没有用处。