size_type和size_t的总结

size_type和size_t的总结

size_type

由string类类型和vector类类型定义的类型,用以保存任意string对象或vector对象的长度,标准库类型将size_type定义为unsigned类型

 

  string抽象意义是字符串, size()的抽象意义是字符串的尺寸, string::size_type抽象意义是尺寸单位类型

 

  string::size_type它在不同的机器上,长度是可以不同的,并非固定的长度。但只要你使用了这个类型,就使得你的程序适合这个机器。与实际机器匹配。

 

size_t

size_t是为了方便系统之间的移植而定义的。(它就是一个无符号整型,有木有!!!)

在32位系统上定义为 unsigned int

在64位系统上定义为 unsigned long

 

更准确的说法是在32位系统上是32位无符号整型

在64位系统上是64位无符号整型

 

size_t一般用来表示一种计数,比如有多少东西被拷贝等。

sizeof操作符的结果类型是size_t,

该类型保证能容纳实现所建立的最大对象的字节大小。

 

它的意义大致是"适于计量内存中可容纳的数据项目的个数的无符号整数类型"。

所以,它在数组下标和内存管理函数之类的地方广泛使用


你可能感兴趣的:(size_type和size_t的总结)