C++中size_t的学习

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可能会提高代码的可移植性、有效性或者可读性

参考链接

猜你喜欢

转载自blog.csdn.net/CHYabc123456hh/article/details/108978722