我已经被告知,我应该总是使用size_t
总是当我想要32位unsigned int
,我不太明白为什么,但我认为这与如果有人在16或64位机上编译程序有关,unsigned int
会成为16或64位,但size_t
不会,但为什么不呢?以及我如何强制位尺寸正是我想要的?C++:数据类型,要使用哪些?
那么,哪个数据类型的列表在哪里使用?例如,是否有size_t
替代unsigned short
?或为32bit int
?等等。我怎么能确定我的数据类型的位数与我在第一个地方选择的一样多,而不需要担心其他机器上的不同位数?
主要是我更关心的使用,而不是边际速度提升我从内存使用加倍获得的记忆,因为我已经没有太多的RAM。所以我想停止担心如果我的程序编译在不是32位的机器上,一切都会分解。现在我使用size_t
总是当我想要它是32位,但short
我不知道该怎么做。有人帮我清理了我的头。
在另一方面:如果我需要64位大小可变的,我可以用它在32位机器上的成功?和那个数据类型名称是什么(如果我希望它总是64位)?
'size_t'早在64位之前存在......我应该知道,我在1990年代后期和2000年初的Borland C++编译器中使用它。 – 2010-10-26 12:18:35
[Where is in Visual Studio?](http://stackoverflow.com/questions/1156267/where-is-inttypes-h-in-visual-studio-2005/1156285#1156285) –
sbi
2010-10-26 12:19:40
一般来说,我会建议使用''中的类型,因为它们可用于VisualStudio和几乎任何其他C++编译器。 –
2010-10-26 12:23:59