【发布时间】:2010-10-26 12:10:59
【问题描述】:
有人告诉我,当我想要 32 位 unsigned int 时,我应该始终使用 size_t,我不太明白为什么,但我认为如果有人在 16 或64 位机器,unsigned int 会变成 16 位或 64 位,但 size_t 不会,但为什么不呢?以及如何将位大小强制为我想要的?
那么,使用哪种数据类型以及何时使用的列表在哪里?例如,是否有 size_t 替代 unsigned short?还是 32 位 int?等等。我怎样才能确保我的数据类型有我最初选择的位数,而不需要担心其他机器上的不同位大小?
我更关心使用的内存,而不是我从内存使用量翻倍获得的边际速度提升,因为我没有太多的 RAM。所以我不想再担心如果我的程序是在不是 32 位的机器上编译的,一切都会崩溃。现在我一直使用size_t,当我希望它是 32 位时,但对于short,我不知道该怎么做。有人帮我理清思路。
另一方面:如果我需要 64 位大小的变量,我可以在 32 位机器上成功使用它吗?那个数据类型名称是什么(如果我希望它始终是 64 位)?
【问题讨论】:
标签: c++ windows visual-studio-2008