程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 論C++中vector的N種遍歷方法

論C++中vector的N種遍歷方法

編輯:C++入門知識

隨著C++11標准的出現,C++標准添加了許多有用的特性,C++代碼的寫法也有比較多的變化。

vector是經常要使用到的std組件,對於vector的遍歷,本文羅列了若干種寫法。

()

 

假設有這樣的一個vector:

vector<> valList = { , , , , , , , , ,  };

需要輸出這個vector中的每個元素,原型如下:

 ShowVec( vector<>& main( argc, *<> valList = { , , , , , , , , ,  

 

 

方法零,對C念念不捨的童鞋們習慣的寫法:

 ShowVec( vector<>& count = ( i = ; i < count;i++<< valList[i] <<

 

方法一,大家喜聞樂見的for循環迭代器輸出:

 ShowVec( vector<>& (vector<>::const_iterator iter = valList.cbegin(); iter != valList.cend(); iter++<< (*iter) <<

 

方法二,與方法一差不多,不過能少打幾個字:

 ShowVec( vector<>& (auto iter = valList.cbegin(); iter != valList.cend(); iter++<< (*iter) <<

 

template<typename T>
 printer( T&<< val << ShowVec( vector<>&<>

 

template<typename T>
 ()( T&<< obj << ShowVec( vector<>&<>

 

方法五,for_each加Lambda函數:

 ShowVec( vector<>& & val)->{cout << val <<

 

方法六,for區間遍歷:

<< val <<

etc.

 

最後:

C++11相比C++98/03還是更新了挺多東西的,目前g++最新版已完全支持C++11標准,這意味著開源社區的新的project必然將遷移到最新的C++11標准上,平時參與/閱讀/參考開源代碼的童鞋們需要學習了。

作為C++程序員,我們當然要與時俱進,擁抱C++11!

下面附一個C++11更新列表:

 --------------------------------------------------------

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved