size_type类型总结

来源:互联网 发布:linux支持安装什么软件 编辑:程序博客网 时间:2024/05/20 18:47

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

string::size_type它在不同的机器上,长度是可以不同的,并非固定的长度。但只要你使用了这个类型,就使得你的程序适合这个机器。与实际机器匹配。
e.g:使用 string::find的函数的时候,它返回的类型就是 string::size_type类型,当find找不到所要找的字符的时候,它返回的是 npos的值,这个值是与size_type相关的

string s; int rc = s.find(/*.....*/);if ( rc == string::npos ){}

如果平台的string::size_type类型和int类型长度不同,则这个判断就不成立.

这里的关键点是要理解npos和size_type相关,上面程序应该改为:

string::size_type rc = s.find(/*.....*/);
原创粉丝点击