C++11 C++;11单元类型vs u_int

C++11 C++;11单元类型vs u_int,c++11,uint,cstdint,C++11,Uint,Cstdint,我只是偶然发现了类型u_int8_t,因为它没有在Windows+MinGW中编译(但在Linux下编译得很好)。根据C++11标准定义类型uint8\t。我只是用了后者,一切都正常 出现的问题是: u_int8_t和uint8_t之间有什么区别吗 是否有使用u\u int8\t的理由(除了旧代码) 如果我使用C++11编译器(在不同的操作系统或体系结构上),是否可以安全地假设将出现uint8\t 上述问题的答案是否也适用于其他类型(intX\u t和uintX\u t) u_int8_t和ui

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

出现的问题是:

  • u_int8_t
    uint8_t
    之间有什么区别吗
  • 是否有使用
    u\u int8\t
    的理由(除了旧代码)
  • 如果我使用C++11编译器(在不同的操作系统或体系结构上),是否可以安全地假设将出现
    uint8\t
  • 上述问题的答案是否也适用于其他类型(
    intX\u t
    uintX\u t
  • u_int8_t
    uint8_t
    之间有什么区别吗

    u_int8_t
    只是一个没有标准化的非常古老的名称。避免它

    是否有使用
    u\u int8\t
    的理由(除了旧代码)

    同事自杀

    如果我使用C++11编译器(在不同的操作系统或体系结构上),是否可以安全地假设将出现
    uint8\t

    C++标准要求它存在于所有实现的具有未签名的8位类型的实现(今天,这意味着所有不是异类)。 上述问题的答案是否也适用于其他类型(

    intX\u t
    uintX\u t


    差不多,是的。

    可能与否重复。您提到的问题涉及
    cstdint
    stdint.h
    之间的区别。类型
    u\u int8\t
    sys/types.h
    中定义。但此标头在Windows和/或MinGW中通常不可用。