#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++程序员在判断循环条件时,应该习惯使用!=作为循环判断,而不是用<来判断。