size_t的定義
- size_t是一種數據相關的無符號類型,它被設計得足夠大以便能夠存儲內存中任意對象的大小。
- 設計 size_t 就是為了適應多個平臺,size_t等效于unsigned short int 或者 unsigned long int 類型,這個過程是動態匹配的。
- 在需要通過數組下標來訪問數組時,通常建議將下標定義size_t類型,因為一般來說在進行下標訪問時,下標都是正的。當然,也不是所有的下標訪問操作下標都是正的,比如以下代碼:
int main(){size_t a[10]={0,1,2,3,4,5,6,7,8,9};size_t * ptr =&(a[4]);cout<<ptr[-2]<<endl;return 0;
}
size_t占據的真實空間
- 經測試發現,在32位系統中size_t是4字節的,而在64位系統中,size_t是8字節的,這樣利用該類型可以增強程序的可移植性。
- 如果是使用編譯器生成程序的時候,選擇的程序的生成版本決定了輸出的size_t的大小。
使用size_t的好處
- 使用size_t可能會提高代碼的可移植性、有效性或者可讀性
參考鏈接
- https://blog.csdn.net/Richard__Ting/article/details/79433814