一个基本的
无符号整数的C / C + +类型, 它是sizeof操作符返回的结果类型, 该类型的大小是选择。因此,它可以存储在理论上是可能的任何类型的
数组的最大大小。 换句话说,一个
指针可以被安全地放进为size_t类型(一个例外是类的
函数指针,但是这是一个特殊的情况下)。 size_t类型通常用于循环、
数组索引、大小的存储和地址运算。 虽然size_t可以存储一个
指针,它的目的是更好地使用另一个unsinged整数类型uintptr_t形式。 在某些情况下,使用size_t类型是更为有效,比习惯性使用无符号类型的程序会更安全。
size_t是在基于
无符号整数memsize类型的C / C + +的标准库中定义的。 C语言中,此类型位于头文件
stddef.h中,而在C++中,则位于cstddef中。
在C++中,设计 size_t 就是为了适应多个平台的 。size_t的引入增强了程序在不同平台上的可移植性。size_t是针对系统定制的一种
数据类型
,一般是整型,因为C/C++标准只定义一最低的位数,而不是必需的固定位数。而且在内存里,对数的高位对齐存储还是低位对齐存储各系统都不一样。为了提高代码的可移植性,就有必要定义这样的
数据类型
。一般这种类型都会定义到它具体占几位内存等。当然,有些是
编译器
或系统已经给定义好的。经测试发现,在32位系统中size_t是4
字节
的,而在64位系统中,size_t是8字节的,这样利用该类型可以增强程序的可移植性。