size_t 类型
1 关于size_t定义 size_t是一种数据相关的无符号类型,它被设计得足够大以便能够内存中任意对象的大小。在cstddef头文件中定义了size_t类型,这个文件是C标准库stddef.h头文件的C++版本。 在需要通过数组下标来访问数组时,通常建议将下标定义size_t类型,因为一般来说在进行下标访问时,下标都是正的。当然,也不是所有的下标访问操作下标都是正的,比如以下代码: int a[10]={1,2,3,4,5,6,7,8,9,10}; int * ptr =&(a[4]); cout<<ptr[-2]<<endl; 这段代码中对ptr进行了下标访问,并且下标是负的,但是这个访问并不是错误的,执行的结果是输出3。 2 在Visual Studio2012中查看size_t 的定义 在VS中,选中size_t,右键调出菜单,选择“转到定义”,会自动跳转到size_t的定义位置。在我的机子上,跳到了的文件目录:d:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\crtdefs.h。(这里为什么跳到了crtdef.h这个头文件而不是上面说的cstddef头文件?) 来看看在windows下是如何定义这个size_t的: #ifndef _SIZE_T_DEFINED #ifdef