Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ uint32和uint32之间的差异_C++_C_Uint32_Uint32 T - Fatal编程技术网

C++ uint32和uint32之间的差异

C++ uint32和uint32之间的差异,c++,c,uint32,uint32-t,C++,C,Uint32,Uint32 T,可能重复: 在C/C++中,uint32和uint32_t之间有什么区别 它们依赖于操作系统吗 在这种情况下,我应该使用一种还是另一种?uint32\u t是标准的,uint32不是。也就是说,如果包含或,您将得到uint32\u t的定义uint32在某些本地代码库中是一个typedef,但除非您自己定义它,否则不应该期望它存在。而自己定义是个坏主意。uint32\u t是在标准中定义的 18.4.1标题概要[cstdint.syn] uint32不是,它是一些编译器提供的快捷方式(可能是t

可能重复:

在C/C++中,uint32和uint32_t之间有什么区别

它们依赖于操作系统吗


在这种情况下,我应该使用一种还是另一种?

uint32\u t
是标准的,
uint32
不是。也就是说,如果包含
,您将得到
uint32\u t
的定义
uint32
在某些本地代码库中是一个typedef,但除非您自己定义它,否则不应该期望它存在。而自己定义是个坏主意。

uint32\u t
是在标准中定义的

18.4.1标题
概要[cstdint.syn]
uint32
不是,它是一些编译器提供的快捷方式(可能是
typedef uint32\u t uint32
),以便于使用。

您应该尽可能选择标准类型。在这种情况下,
uint32\t
。你可以在这里找到答案:出于好奇-“\u t”是什么意思?是“type”的简写。更可能的情况是,typedef指的是在标准化之前已知为无符号32位整数的东西。但是“32位无符号整数”怎么可能有什么不同呢?typedef uint32\u t uint32?如果它不存在,你将无法编译你的程序,对吗?然后你可以像上面Max建议的那样做。这有什么大不了的?@Rodrigo“大不了的”和做
#define writef printf
一样。从技术上讲,一切都会很好。但它带来了不必要的混乱。你会惊讶地发现,随着时间的推移,你会频繁地看到像这样的简单typedef变形,直到一个代码库有了像
typedef uint16\u t uint32这样的东西,这时宇宙就爆炸了。是的,我已经梦想过了:)
namespace std {
//...
typedef unsigned integer type uint32_t; // optional
//...
}