size_type在string中定义(#include<string>,使用时为写作string::size_type),是一种可以适应机器的unsigned类型。vector使用string::size_type作为下标和大小的正确类型。与之对应定义的为string::npos,表示大于所有有效下标的一个值,不同的编译系统值不同,一般为-1。
size_t在cstddef中定义(#include<cstddef>),是一种可以使用机器的unsigned类型。sizeof()返回size_t类型。数组使用size_t作为下标和大小的正确类型。