首页 > 开发 > C++ > 正文

请教一下Lipp写的《primer》中关于string的size_type该如何理解?

2017-09-11 21:35:55  来源: 网友分享

非常感谢和期待您的耐心解答!

#include<iostream>
#include<string>
using std::cin;
using std::cout;
using std::endl;
using std::string;


int main(){
string a="hello\n";
for(string::size_type i=0; i!=3;++i)
{
	a.push_back('w');
}
cout<<a<<endl;
system("pause");
return 0;

}

解决方案

如果直接使用char数组存储字符串,那么可以使用整数进行衡量字符串的长度。
标准库的string对字符串进行了封装,一定程度上屏蔽了存储细节,暴露的部分基本都有系统无关。
那么直接使用依赖于系统的整数类型就显得不太合适。
size_type可能是一个整数类型,也可能是一个抽象类型。必要条件就是要能对字符串长度进行衡量并支持相关操作。