程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++遍歷集合應用經驗總結

C++遍歷集合應用經驗總結

編輯:C++入門知識

C++作為一種C語言的升級版本,可以為開發人員帶來非常大的好處。我們在這篇文章中將會針對C++遍歷集合的相關概念進行一個詳細的介紹,希望大家可以從中獲得一些幫助,以方便自己的學習。

在Java中,常見的遍歷集合方式如下:

  1. Iterator iter = list.iterator();  
  2. while (iter.hasNext()) {  
  3. Object item = iter.next();  

也可以使用for

  1. for (Iterator iter = list.iterator(); iter.hasNext()) {  
  2. Object item = iter.next();  

JDK 1.5引入的增強的for語法

  1. List list =   
  2. for (Integer item : list) {  

在C#中,遍歷集合的方式如下:

  1. foreach (Object item in list)   
  2. {  

其實你還可以這樣寫,不過這樣寫的人很少而已

  1. IEnumerator e = list.GetEnumerator();  
  2. while (e.MoveNext())   
  3. {  
  4. Object item = e.Current;  

在C# 2.0中,foreach能夠作一定程度的編譯期類型檢查。例如:

  1. IList< int> intList =   
  2. foreach(String item in intList) { } //編譯出錯 

在C++標准庫中。for_each是一種算法。定義如下:

  1. for_each(InputIterator beg, InputIterator end, UnaryProc op) 

在C++遍歷集合中,由於能夠重載運算符(),所以有一種特殊的對象,仿函數。

  1. template< class T> 
  2. class AddValue {  
  3. private:  
  4. T theValue;  
  5. public:  
  6. AddValue(const T& v) : theValue(v) {  
  7. }  
  8. void operator() (T& elem) const {  
  9. elem += theValue;  
  10. }  
  11. };  
  12. vector< int> v;  
  13. INSERT_ELEMENTS(v, 1, 9);  
  14. for_each (v.begin(), v.end(), AddValue< int>(10)); 

以上就是對C++遍歷集合的相關介紹。

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