我已經被告知,我應該總是使用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