1、for(;;)
這個是最基礎最簡單的for循環,從剛開始學習C語言的時候就知道的。
for(int i = 0; i < 10; ++i){
}
2、foreach
完整的是for each(object var in collection_to_loop)
這個是python或Shell腳本中for循環的寫法,借鑒過來的用法。但是使用Linux g++編譯不過,不識別。
for each(auto i in Vec){
}
3、for_each
這個是STL中的一個算法:
* @brief Apply a function to every element of a sequence.
* @ingroup non_mutating_algorithms
* @param __first An input iterator.
* @param __last An input iterator.
* @param __f A unary function object.
* @return @p __f
template<typename _InputIterator, typename _Function>
_Function
for_each(_InputIterator __first, _InputIterator __last, _Function __f)
例子:
void print(string str){
cout << str << endl;
}
vector<string> strVec = {"a", "b", "c"};
for_each(strVec.begin(), strVec.end(), print);
4、C++11基於范圍的for循環
for(auto i : Vec){
}
如果循環體由單條語句或者單個結構塊組成,可以省略花括號
不依賴於下標元素,通用
不需要訪問迭代器,透明
不需要定義處理函數,簡潔
總結:工作中用到了,在此簡單總結一下,僅供參考!