迭代器是一種比下標更通用的,用于訪問數(shù)組、容器中元素的機制。
auto b = v.begin(), e = v.end();
舉例:將一段字符串的首字母大寫(迭代器訪問元素)
//使用下標
string s("hello , today")
if(!s.empty())
s[0] = toupper(s[0]);
//使用迭代器
string s("hello , today")
if(!s.empty() || s.begin()!=s.end()){auto cur = s.begin();
*cur = toupper(*cur);//解引用與指針類似
}
舉例:將一段字符串中的第一個單詞改為大寫的形式(迭代器訪問元素plus)
//使用下標
string s("hello , today");
for(int i = 0; i< s.size(); i++) {if (!s.empty() && s[i] != ' ')
s[i] = toupper(s[i]);
else
break;
}
//或者
string s("hello , today");
for (decltype(s.size()) i = 0; i != s.size() && !isspace(s[i]); ++i) //i的數(shù)據(jù)類型直接改成int也可
s[i] = toupper(s[i]);
cout<string s("hello , today");
for (int i = 0; i< s.size() && !s.empty() && s[i] != ' '; i++) {s[i] = toupper(s[i]);
}
cout< string s("hello , today");
for (auto it = s.begin(); it != s.end() && *it != ' '; ++it)
*it = toupper(*it);
cout<
迭代器類型
vector::iterator it;
string::iterator it1;
vector::const_iterator it2;
string::const_iterator it3;
// 迭代器返回常量cbegin和cend
vectorv;
auto it = v.begin() //返回類型為iterator
auto it = v.cbegin(); //返回類型為const_iterator,值不可更改
當?shù)髦赶虻膶ο笫穷悤r,比如一個由字符串組成的向量,涉及到解引用與成員訪問操作的結合。
(*it).empty() === it->empty()
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
文章名稱:【C++Premier迭代器】-創(chuàng)新互聯(lián)
文章分享:http://jinyejixie.com/article36/hepsg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站改版、網頁設計公司、Google、全網營銷推廣、網站設計公司、手機網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)