void test()
{
vector <string> s={"hello world"};
for(vector<string>::iterator it=s.begin();it!=s.end()&&!it->empty();it++)
{
for(auto it2=it->begin();it2!=it->end();it2++)//I don't konw type of it2
{
*it2=toupper(*it2);
}
cout<<*it<<endl;
}
}
迭代器獲得更詳細的關於汽車的標識。在第一圈,我可以肯定類型的這個迭代是vector<string>::iterator
。我想知道什麼是it2
的類型(我已經嘗試過使用vector<string>::const
)。我怎樣才能獲得更多關於auto
的哪個類型相同的細節。如何在C++ 11
請問,您爲什麼需要知道? – Bathsheba
'*(it)'的類型是'std :: string&',因此請檢查[std :: string :: begin()]的類型(http://en.cppreference.com/w/cpp/string/basic_string/begin)(no'const') - >它是'std :: string :: iterator' – BeyelerStudios
我在閱讀第三章中的「C++總理」並做了一些書的練習。該問題要求使用迭代器來實現。我首先使用auto,但對迭代器的具體類型感到好奇。 – HugoZou