vectorintvector;
vector::iterator end = intvector.end();
vector::iterator begin = intvector.begin();
vector::size_type size = intvector.size();
vector::difference_type diff = end - begin(); // 兩iterator型-運算,結果difference_type型
vector::iterator mid = end+size/2; //+,-整型或者size_type型,還是iterator型
vector::iterator mid = (end+begin)/2 //error ,沒有關於兩個iterator的定義
vector中的iterator 有 「-」 整型 或者 size_type型或iterator型的運算子過載
也有「+」整型或者size_type型的運算子過載,但是沒有iterator+iterator的運算子過載
vector的迭代器失效
大家知道vector容器與陣列的不同之處在於,vector可以自動擴容它的容量,是乙個動態的陣列,而我們的普通陣列的容量時固定死的。當vector內元素的數量等於vector容量的時候,再向vector中插入資料,vector會自動申請一塊兒更大的記憶體空間,並將原來的資料拷貝過去,並存將新的元素插...
Vector 迭代器 陣列
標準庫型別vector表示物件的集合,其中所有的物件型別都相同 集合中每個物件都有乙個與之對應的索引,索引用於訪問物件。vector是乙個類模板,是模板而非型別。1.初始化vector物件 vectorv1 t型別空vector,執行預設初始化 vectorv2 v1 v2包含所有v1元素的副本 v...
vector迭代器失效
c 面試題經常會背問到vector和list的區別,其中就有乙個問題就困擾我們的,面試官說vector在進行插入和刪除元素的時候迭代器會失效,list不會,那這邊由我來給大家舉個列子 include include using namespace std int main include inclu...