size_type由string类类型和vector类类型定义的类型,用以保存任意string对象或vector对象的长度,标准库类型将size_type定义为unsigned类型。
string::size_type从本质上来说,是一个整型数。关键是由于机器的环境,它的长度有可能不同。 例如:我们在使用 string::find的函数的时候,它返回的类型就是 string::size_type类型。而当find找不到所要找的字符的时候,它返回的是 npos的值,这个值是与size_type相关的。假如,你是用
这样在不同的机器平台上表现就不一样了。如果,你的平台的string::size_type的长度正好和int相匹配,那么这个判断会侥幸正确。但换成另外的平台,有可能 string::size_type的类型是64位长度的,那么判断就完全不正确了。 所以,正确的应该是:
表示st中的字符数量,字符数量的统计是由 1 开始累计计算的,所以字符数量正好比
字符串的下标索引数(由 0 开始累计计算)大 1 ,这里的
使用 size_type 时,一定要注意包含头文件 string,否则会提示未申明。用 string::size_type 方式,来使用string 类中声明的参数。