结论:
size_t 是一个 unsigned X 类型,这里的 X 可以是 char ,int ,long ,long long 等等,因此 size_t 的最大值是根据实际情况而改变的,定义是他能容纳当前系统所能定义的数据的最大尺寸值,比如定义一个包含 4G 个元素的 char 数组。
那么 size_t 就是一定可以存的下 4G 这么一个整数。
size_t cnt = sizeof(arr);
之所以使用size_t,而不是 unsigned int 或者其他,主要是出于两个目的:1)提高代码移植时的兼容性 ; 2)分配最合适的内存空间,避免内存浪费,这在嵌入式系统中可能会比较在意一点。
参考:
About size_t and ptrdiff_t
标签:int,什么,unsigned,long,char,c++,4G,size From: https://blog.51cto.com/u_15803983/5846513