您的位置:首页 > 其它

存储string的size的操作结果变量必须为string::size_type类型——P73

2010-01-25 23:34 295 查看
#include<iostream>
#include<string>

using namespace std;

int main(){
string str1 = "hello";
//string str = str1+",";
//cout<<str<<endl;
for(string::size_type s=0;s!=str1.size();s++)
cout<<str1[s]<<endl;
return 0;
}

将string::size_type改成int就不行了。

string::size_type的具体类型我们不知道,它是一个unsigned型,size_type所能存储的长度是int型的两倍。

PS:在定义用作索引的变量时,最好也定义成string::size_type型的,当然,这边的string可以换成任意的数据类型,比如vector<int>;

数据类型::size_type也可以用来做循环条件。C++程序员在判断循环条件时,应该习惯使用!=作为循环判断,而不是用<来判断。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐