c 中size t和size type之間的關係

2021-07-28 04:44:02 字數 633 閱讀 8940

之前一直很迷惑size_t和size_type有什麼區別,後來專門去網上查了查,現在終於明白區別了。

為了使自己的程式有很好的移植性,在程式編寫的時候應該盡量使用size_t和size_type。其主要有一下幾點區別:

1. size_t是全域性定義的型別;size_type是stl類中定義的型別屬性。在使用stl中表明容器長度的時候,我們一般用size_type。

2. string::size_type 型別一般就是unsigned int, 但是不同機器環境長度可能不同 win32 和win64上長度差別;

size_t一般也是unsigned int

3. size_t 使用的時候標頭檔案需要 ;size_type 使用的時候需要或者

4. 下述

長度均相等,長度為win32:4      win64:8

sizeof(string::size_type)

sizeof(vector::size_type)

sizeof(vector::size_type)

sizeof(size_t)

5. 二者聯絡:在用下標訪問元素時,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的區別

為了使自己的程式有很好的移植性,c 程式設計師應該盡量使用size t和size type而不是int,unsigned 1.size t是全域性定義的型別 size type是stl類中定義的型別屬性,用以儲存任意string和vector類物件的長度 2.string size type 制型別...

C語言 size t說明

size t是什麼型別的?為了增強程式的可移植性,便有了size t,它是為了方便系統之間的移植而定義的,不同的系統上,定義size t可能不一樣。在32位系統上 定義為 unsigned int 也就是說在32位系統上是32位無符號整形。在64位系統上定義為 unsigned long 也就是說在...