除了使用下標訪問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對象的迭代器失效。
謹記:但凡是使用了迭代器的循環體,都不要想迭代器所屬的容器添加元素。
迭代器運算

迭代器的算術運算


使用迭代器運算
二分搜索法
