基於范圍的for循環(C++11)


C++11新增了一種循環:基於范圍的for循環。這簡化了一種常見的循環任務:對數組(或容器類,如vector和array)的每個元素執行相同的操作,如下例所示

for語句允許簡單的范圍迭代:(只遍歷,不修改)

    int arrayData[] = {1, 2, 3, 4, 5}; for(int x : arrayData) cout << x << " "; cout << endl; string str("some string.");
// auto 類型也是 C++11 新標准中的,用來自動獲取變量的類型
for(auto c : str) cout << c << " "; cout << endl;

其中,x最初表示數組arrayData的第一個元素。顯示第一個元素,不斷執行循環,而x依次表示數組的其他元素。因此,上述代碼顯示全部的5個元素。總之,該循環顯示數組中的每個值。

auto 類型也是 C++11 新標准中的,用來自動獲取變量的類型。

 

要修改數組的元素,需要使用不同的循環變量語法:(邊遍歷,邊修改)

    int arrayData[] = {1, 2, 3, 4, 5}; for(int &x : arrayData) { x++; cout << x << " "; } cout << endl; string str("some string."); for(auto &c : str) { c = toupper(c); cout << c << " "; } cout << endl;

 上述的程序使用for語句遍歷arrayData數組,每個數組元素乘2;使用for語句遍歷一個字符串,並將所有字符全部變為大寫;

 

 參考鏈接:

C++for循環

基於范圍的for循環(C++11)

C++11基於范圍的for循環


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM