size_t类型

      size_t 类型定义在cstddef头文件中,该文件是C标准库的头文件stddef.h的C++版。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小。  

   例如:bitset的size操作返回bitset对象中二进制位中的个数,返回值类型是size_t。  

   例如:在用下标访问元素时,vector使用vector::size_type作为下标类型,而数组下标的正确类型则是size_t。

     size_t是标准C库中定义的,应为unsigned int。     

       在C++中,设计 size_t 就是为了适应多个平台的 。size_t的引入增强了程序在不同平台上的可移植性。size_t是针对系统定制的一种数据类型,一般是整型,因为C/C++标准只定义一最低的位数,而不是必需的固定位数。而且在内存里,对数的高位对齐存储还是低位对齐存储各系统都不一样。为了提高代码的可移植性,就有必要定议这样的数据类型。一 般这种类型都会定义到它具体占几位内存等。当然,有些是编译器或系统已经给定义好的。经测试发现,在32位系统中size_t是4字节的,而在64位系统 中,size_t是8字节的,这样利用该类型可以增强程序的可移植性。

  一个基本的无符号整数的C / C + +类型。 它是sizeof操作符返回的结果类型。 该类型的大小是选择,因此,它可以存储在理论上是可能的任何类型的数组的最大大小。 在32位系统为size_t将采取32位和64位 - 64位。 换句话说,一个指针可以被安全地放进为size_t类型(一个例外是类的函数指针,但是这是一个特殊的情况下)。 size_t类型通常用于循环,数组索引,大小的存储和地址运算

数据库不平,何以平天下,啊啊啊~
原文地址:https://www.cnblogs.com/hackergodness/p/2378117.html