MSDN中的解释:
size_t unsigned integer |
Result of sizeof operator. |
也就是说size_t是unsigned integer即无符号整数。那为什么会有size_t这个类型呢?
因为不同平台的操作系统(32/64)中int/long等类型所占的字节并不一样,而size_t在不同的平台下有不同的定义。有点类似于TCHAR
#ifndef _SIZE_T_DEFINED
#ifdef _WIN64
typedef unsigned __int64 size_t; //64位
#else
typedef _W64 unsigned int size_t; //32位
#endif
#define _SIZE_T_DEFINED
#endif