有关size_t的问题...大虾来帮个忙
小弟最近在看C++ PRIMER 4 有个问题,为什么要定义size_t类型??它具体的含义是什么??还有数组下标的正确类型不可以是int??
现在只有些很模糊的认识,望各位大虾指点..最好详细说明下 谢了.....
[解决办法]
可以用msdn查下size_t
size_t unsigned integer
[解决办法]
标准定义而已 ...
[解决办法]
其实它只是另一个类型的别名而已,并非新的数据类型
[解决办法]
size_t一般用来表示一种计数,比如有多少东西被拷贝等 sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型,即typedef unsigned int size_t 该类型保证能容纳实现所建立的最大对象的字节大小。 strncat,strncmp,strncpy等都用到了它
size_t 是为了方便系统之间的移植而定义的 在32位系统上 定义为 unsigned int 在64位系统上 定义为 unsigned long
[解决办法]
数组下标可以是int,但是数组下表肯定不会是负数,int可表示的正数范围比unsigned int小的多,所以用unsigned int 比用int好。
但是即使用unsigned int也可能存在范围不够的问题,所以C++定义了这种size_t类型,它可能是unsigned int,也可能是unsigned short或者其它类型,但它能保证在你的机器上,不会出现表达范围不够的问题
[解决办法]
不同系统之间移植方便,提供一个统一的数据定义