首页 > 开发 > 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可能是一个整数类型,也可能是一个抽象类型。必要条件就是要能对字符串长度进行衡量并支持相关操作。