可能重复:
不同整数类型之间的差异
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
)提供的快捷方式,以便于使用。