size_t和unsigned int有所不同,size_t的取值range是目標平台下最大可能的數組尺寸
,一些平台下size_t的范圍小於int的正數范圍,又或者大於unsigned int.最典型的,在x64下,int還是4,但size_t是8.這意味着你在x64下最大可能開辟的數組尺寸是2^64.
如果你使用int或者unsigned int,那么在x64下如果你的代碼中全部使用uint作為數組的尺寸標記,
那么你就會失去控制2^32尺寸以上的數組的機會.雖然現在在x64上開辟一個大於2^32大小的連續數組依然是個不大可能的事情,但是..........
作者:知乎用戶
鏈接:https://www.zhihu.com/question/24773728/answer/28920149
來源:知乎