2016-02-06 18 views
-3

我在(請參閱http://www.cplusplus.com/reference/vector/vector/emplace/)的「cplusplus.com」參考中找到此代碼段(有點修改)。
我已經經常與lists合作,並且我知道auto關鍵字。 但我不明白for循環的頭。

代碼:不理解for循環的頭

#include <iostream> 
#include <list> 

int main() 
{ 
    std::list<int> list; 

    list.emplace_back(100); 
    list.emplace_back(200); 

    std::cout << "list contains: "; 
    for (auto& x: list) 
    std::cout << "(" << x << ") "; 

    return 0; 
} 

輸出:list contains: (100) (200)

+2

[這是一個for-each循環。](http://en.cppreference.com/w/cpp/language/range-for)也稱爲基於範圍for循環。 – Cornstalks

+0

謝謝。現在我懂了。 – Skydef

回答

1

在評論中指出,這是一個for-each loop。循環字面意思是for each x in list, print x

您可能對auto& x感到困惑。它通過引用(現有變量名稱的別名)進行訪問。你可以閱讀更多關於C++ references

+0

謝謝!你幫了我很多。 – Skydef