分类: C/C++
2013-02-27 20:15:02
昨天在编写一个c++ 的程序中发现有这样的定义语句:const size_t arr_size=6;这块如果用int代替是不是可以呢?为什么要使用size_t呢?使用size_t是为了增强程序的可读性。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小,是为了方便系统之间的移植性而定义的。不同的系统上,定义size_t可能不一样。所以,size_t一般用来表示一种计数,他在数组下标和内存管理函数之类的地方广泛使用。我查了一下内核的源代码有好多内核函数都是使用size_t来定义的。虽然size_t可以存储一个指针,它的目的是更好地使用另一个unsinged整数类型uintptr_t形式。 在某些情况下,使用size_t类型是更为有效,比习惯性使用无符号类型的程序员更安全。
ssize_t这个数据类型用来表示可以被执行读写操作的数据块的大小。他和size_t类似,但必须是signed.