8

我只是偶然发现了这种类型u_int8_t,因为它没有在 Windows+MinGW 中编译(但在 Linux 下编译得很好)。根据这个站点,C++11 标准定义了 type uint8_t。我只使用了后者,一切正常。

出现的问题是:

  1. u_int8_t和有什么区别uint8_t吗?
  2. 是否有理由(除了遗留代码)使用u_int8_t
  3. 如果我使用 C++11 编译器(在不同的操作系统或架构上) ,假设它uint8_t会出现是否安全?
  4. 上述问题的答案是否也适用于其他类型(intX_tuintX_t)?
4

1 回答 1

16

u_int8_t和有什么区别uint8_t吗?

u_int8_t只是一个非常古老的名字,没有标准化。躲开它。

是否有理由(除了遗留代码)使用u_int8_t

同事自杀。

如果我使用 C++11 编译器(在不同的操作系统或架构上) ,假设它uint8_t会出现是否安全?

C++ 标准要求它存在于所有具有可用无符号 8 位类型的实现上(今天这意味着一切都不是外来的)。

上述问题的答案是否也适用于其他类型(intX_tuintX_t)?

差不多,是的。

于 2014-04-25T11:13:35.333 回答