為了使自己的程式有很好的移植性,c++程式設計師應該盡量使用size_t和size_type而不是int, unsigned
1. size_t是全域性定義的型別;size_type是stl類中定義的型別屬性,用以儲存任意string和vector類物件的長度
2. string::size_type 制型別一般就是unsigned int, 但是不同機器環境長度可能不同 win32 和win64上長度差別;size_type一般也是unsigned int
3. 使用的時候可以參考:
string::size_type a =123;
vector::size_type b=234;
size_t b=456;
4. size_t 使用的時候標頭檔案需要 ;
size_type 使用的時候需要或者
5. sizeof(string::size_type)
sizeof(vector::size_type)
sizeof(vector::size_type)
sizeof(size_t)
上述長度均相等,長度為win32:4 win64:8
6. 二者聯絡:在用下標訪問元素時,vector使用vector::size_type作為下標型別,而陣列下標的正確型別則是size_t。
參考:
c 中size type和size t的關係
size type 由string類型別和vector類型別定義的型別,用以儲存任意string物件或vector物件的長度,標準庫型別將size type定義為unsigned型別 string抽象意義是字串,size 的抽象意義是字串的尺寸,string size type抽象意義是尺寸單位型別...
c 中size t和size type之間的關係
之前一直很迷惑size t和size type有什麼區別,後來專門去網上查了查,現在終於明白區別了。為了使自己的程式有很好的移植性,在程式編寫的時候應該盡量使用size t和size type。其主要有一下幾點區別 1.size t是全域性定義的型別 size type是stl類中定義的型別屬性。在...
C語言 size t說明
size t是什麼型別的?為了增強程式的可移植性,便有了size t,它是為了方便系統之間的移植而定義的,不同的系統上,定義size t可能不一樣。在32位系統上 定義為 unsigned int 也就是說在32位系統上是32位無符號整形。在64位系統上定義為 unsigned long 也就是說在...