可能重复:
不同整数类型之间的差异
C/C++ 中的uint32和uint32_t有什么区别?
它们是否依赖于操作系统?
在哪种情况下我应该使用一种或另一种?
uint32_t是标准的,uint32不是。也就是说,如果包含<inttypes.h>or <stdint.h>,您将得到 的定义uint32_t。 uint32是某些本地代码库中的 typedef,但除非您自己定义,否则不应期望它存在。自己定义是个坏主意。
uint32_t在标准中定义,在
<cstdint>概要 [cstdint.syn]namespace std {
//...
typedef unsigned integer type uint32_t; // optional
//...
}
uint32不是,它是一些编译器(可能为typedef uint32_t uint32)提供的快捷方式,以便于使用。