細數C++中的for循環


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){

}
如果循環體由單條語句或者單個結構塊組成,可以省略花括號
不依賴於下標元素,通用
不需要訪問迭代器,透明
不需要定義處理函數,簡潔

總結:工作中用到了,在此簡單總結一下,僅供參考!


免責聲明!

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



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