请问size_t是在哪儿定义的

软件和网站开发以及相关技术探讨
回复
horsefaced
帖子: 43
注册时间: 2007-04-21 9:36

请问size_t是在哪儿定义的

#1

帖子 horsefaced » 2007-05-30 8:06

今天试验unix高级程序设计四章的习题4.18时,发现size_t会溢出。于是想找一下size_t的定义。

使用size_t定义要include <sys/types.h> 但实际上在sys/types.h根本没有size_t的定义,只看到#define __need_size_t然后就又include了<stddef.h>, 本想在这里面吧,在看到
#define __SIZE_TYPE__ long unsigned int
而下面定义了
typedef __SIZE_TYPE__ size_t
如果是用这个定义的话,那么size_t就应该是long unsigned int,那么它应当可以用4294967295这么大的数了。但实际使用中发现,size_t实际上只有 long int,而不是long unsigned int。

那么请问实际上的size_t是在哪儿定义的?
bellyxiaoxiao
帖子: 7
注册时间: 2007-01-25 19:25

#2

帖子 bellyxiaoxiao » 2007-05-30 12:48

记得c++ primer里说的是cstddef里
horsefaced
帖子: 43
注册时间: 2007-04-21 9:36

#3

帖子 horsefaced » 2007-05-31 18:23

呵呵,这个头文件里只是定义了在std空间中有size_t这个定义而已.
回复