size_tsize_t是用於數組的下標值類型,也可以用來“接收”sizeof操作符的返回值。
1、既然是無符號的,,一般只能用在沒有負數的地方了,比如我們的年齡啊,身高啊。在c標準函數中,最一般的就是strlen,返回字符數。字符數當然不可能是負的啊,所以函數原型是size_t strlen(const char*) ;size_t是表示長度(尺寸)的類型,這個類型是由 typedef unsigned int size_t; 定義的,一般用於保存一些長度信息,比如數組的長度、字符串的長度等;
2、size_type是容器配套類型,使用前需要加作用域比如string::size_type(string可看作字符容器,但不是類模板)數組的定義聲明等應當使用size_t類型,如果不得不使用int作下標,應當使用unsigned避免越界。至於size_type類型無法轉換……也許字符串流可以但是沒有試過。
例子:
數組中應用size_t的例子
問題描述:
反向輸出數組中的數
代碼:
#include
using namespace std;
int main()
{
const size_t a_size = 10;
int a[a_size];
for (size_t i = 0; i != a_size; i++)
{
a[i] = i;
}
for (int j = a_size - 1; j >= 0; j–)
{
cout << a[j] << endl;
}
return 0;
}
運行結果如下:
9 8 7 6 5 4 3 2 1 0
3、總結:
size_type是容器概念,沒有容器不能使用 是的 size_t實際上就是unsigned int