C++ 11 uint类型vs u_int

mas*_*sgo 5 uint cstdint c++11

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

出现的问题是:

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

R. *_*des 10

有什么区别u_int8_tuint8_t

u_int8_t只是一个非标准的旧名称.躲开它.

有没有理由(除了遗留代码)u_int8_t

同事自杀.

uint8_t如果我使用C++ 11编译器(在不同的操作系统或架构上),可以安全地假设存在吗?

C++标准要求它出现在所有具有无符号8位类型的实现上(今天这意味着一切都不是异国情调).

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

差不多,是的.