存儲string的size的操作結果變量必須爲string::size_type類型——P73

#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++程序員在判斷循環條件時,應該習慣使用!=作爲循環判斷,而不是用<來判斷。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章