C++中的迭代器


  除了使用下標訪問string對象的字符或者vector對象的元素,還可以通過迭代器來實現相同的目的。

使用迭代器

  

迭代器運算符

  

  

將迭代器從一個元素移動到另外一個元素

  迭代器使用遞增運算符(++)來從一個元素移動到下一個元素。

注意:因為end返回的迭代器並不實際只是某個元素,所以不能對其進行遞增或解引用的操作。

 

 關鍵概念:泛型編程,所有標准庫容器都定義了==和!=。

 

迭代器類型

  itreator和const_iterator表示迭代器的類型。【類似於int 和const int,,,】

 begin 和end運算符

  

 

 C++11新標准下引入兩個新函數,cbegin 和cend ,與begin和end不同,不管vector對象本身是否是常量,返回值都是const_iterator;

 

結合解引用和成員訪問操作

  (*it).empty;    //解引用,然后調用結果對象的empty成員

 

某些對vector對象的操作會使迭代器失效

  限制1:不能在范圍for循環中向vector對象添加元素。

  限制2:限制任何一種可能改變vector對象容量的操作,例如push_back,會使vector對象的迭代器失效。

謹記:但凡是使用了迭代器的循環體,都不要想迭代器所屬的容器添加元素。

 

迭代器運算

  

 

迭代器的算術運算

  

  

使用迭代器運算

  二分搜索法

 


免責聲明!

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



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