介紹完其中一種標準函式庫的資料容器 - 列表(List)之後,我們來看一下應用於這樣的資料容器的精簡迴圈 - 基於範圍的 For 迴圈。
它是運用 For 迴圈來走訪資料容器中的所有元素,簡化了運用 Iterator 的迴圈走訪。雖然它的優點可以簡化運用 Iterator 的 For 迴圈,但它的缺點是如果用 auto 修飾詞來修飾被走訪的元素,就會稍微消耗一點效能。
我們先來看看它的語法:
for (const auto& element : data_container) {
... // do something for loop
}
像上述的語法中,是運用 auto 來修飾了被走訪元素 element,這樣不管資料容器裡是什麼資料型態的元素,都可以自動地被轉換給變數 element,但這樣的自動轉換,在程式執行時會稍微消耗一點效能。
那麼我們就用上一篇列表(List)來作範例,實際應用的語法如下:
#include <list>
using namespace std; //使用 using namespace 關鍵字標明要使用哪個命名空間底下的物件
void main()
{
list<int> l; //省略掉 std:: 命名空間範疇的關鍵字
l.push_back(1);
l.push_back(2);
l.push_back(3);
for (const auto& e : l) {
cout << e << endl;
}
}
Last updated: