size_t 类型定义在cstddef头文件中,该文件是C标准库的头文件stddef.h的C++版。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小。
例如:bitset的size操作返回bitset对象中二进制位中的个数,返回值类型是size_t。
例如:在用下标访问元素时,vector使用vector::size_type作为下标类型,而数组下标的正确类型则是size_t。
size_t 是为了方便系统之间的移植而定义的:
(1)在32位系统上 定义为 typedef unsigned int size_t;
(2)在64位系统上 定义为 typedef unsigned long size_t;
更准确地说法是在32位系统上是32位无符号整数,在64位系统上是64位无符号整数。
综上:size_t是一种无符号的整型数,它的取值没有负数,在数组中也用不到负数,而它的取值范围是整型数的双倍,一般用来表示一种计数。