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