vector::size_type的用法

C++ Primer 中指出,size_type是一种类型,确保能够保存可能存在的最大向量中的所有元素,这句话究竟怎么理解?
答:
所谓 size_type 就是这个“vector 的 size 的类型”。size就是指vector有多少个元素,这个“多少个”也是个整型值,它的类型就是 size_type。
举个具体的例子:
假如有个vector,你调用size()来得到它有多少个元素,你要把这个值存在一个变量里,那么这个变量该声明为什么类型呢?int 型吗? 万一这个vector的元素数超过了 int 的范围呢? 要不就用 long? 万一也不够用呢??
所以,我们把 size_type 作为这个 size 值的类型,你只要声明一个 size_type 类型的变量就能存下“元素个数”的值。顺便一提,在 C 语言中 size_t 指的是系统中最大的整型类型,一般在前述情况下都是使用 size_t 类型的。size_t不是容器概念,而size_type是容器概念,没有容器不能使用。size_type和size_t没有本质区别。

你可能感兴趣的:(C++学习)