size_type
来源:互联网 发布:网络出现问号 编辑:程序博客网 时间:2024/06/06 03:42
size_type
编辑
本词条缺少概述、名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
- size_type
- 函数
- unsigned类型
- 程序代码
目录
简介编辑
由string类类型和vector类类型定义的类型,用以保存任意string对象或vector对象的长度,标准库类型将size_type定义为unsigned类型
意义编辑
string抽象意义是字符串, size()的抽象意义是字符串的尺寸, string::size_type抽象意义是尺寸单位类型
string::size_type它在不同的机器上,长度是可以不同的,并非固定的长度。但只要你使用了这个类型,就使得你的程序适合这个机器。与实际机器匹配。
string::size_type从本质上来说,是一个整型数。关键是由于机器的环境,它的长度有可能不同。 例如:我们在使用 string::find的函数的时候,它返回的类型就是 string::size_type类型。而当find找不到所要找的字符的时候,它返回的是 npos的值,这个值是与size_type相关的。假如,你是用
1
2
string s;
int
rc = s.find(
/*.....*/
);
然后判断,
1
if
( rc == string::npos )
这样在不同的机器平台上表现就不一样了。如果,你的平台的string::size_type的长度正好和int相匹配,那么这个判断会侥幸正确。但换成另外的平台,有可能 string::size_type的类型是64位长度的,那么判断就完全不正确了。 所以,正确的应该是:
1
string::size_type rc = s.find(
/*.....*/
);
这个时候使用
1
if
( rc == string::npos )
就会正确了。
说明编辑
1
st.size()
表示st中的字符数量,字符数量的统计是由 1 开始累计计算的,所以字符数量正好比字符串的下标索引数(由 0 开始累计计算)大 1 ,这里的
1
2
index != st.size();
index < st.size();
效果等同。
其它范例编辑
C++Primer+中文第四版,涉及 size_type 的例:
1
2
3
// 改字符串中间隔字符为 'x'
for
( string::size_type i=0; i<s.size(); i=i+2 )
s[i]=
'x'
;
使用 size_type 时,一定要注意包含头文件 string,否则会提示未申明。用 string::size_type 方式,来使用string 类中声明的参数。
0 0
- size_type
- size_type
- size_type
- size_type
- size_type
- size_type
- size_type & size_t
- string::size_type
- size_type用法
- size_type size_t
- 关于size_type
- size_type详解
- vector<string>::size_type与string::size_type
- C++ string::size_type 类型
- c++ string::size_type详解
- vector的size_type
- C++ string::size_type 类型
- size_type value_type类型:
- Android-类qq功能(三)
- js 数组和对象
- NGUI 的grid提高显示性能
- Dapper,大规模分布式系统的跟踪系统
- 讨厌的git
- size_type
- 一次socket编程中犯下的错误
- 黑马程序员—Java基础—集合
- .net wifi连接的和修改IP等各项操作
- 菜鸟学Java----内部类2
- mybatis generator 启动时出错:注释中不允许出现字符串 "--"
- ImageView使用总结
- Android应用的界面编程
- UBUNTU系统配置VPN