10.5 iterator:指向容器裡的位置
10.2 教的 push_back 能加元素、pop_back 能移除元素,但動得到的都只有尾端。想在中間插入或移除元素,得先回答一個問題:怎麼跟 vector 說「就是這個位置」?C++ 容器的標準答案是 iterator:一種特殊的型態,它的值是「容器裡的某個位置」。有點像上冊 7.7 的「陣列名稱代表開頭的記憶體位置」——iterator 存的不是元素本身,而是元素住在哪。
vector 的 iterator 型態寫作 vector<int>::iterator——中間的兩個冒號 :: 表示「vector<int> 裡面的 iterator 型態」:每種容器都帶著自己的 iterator 型態,所以要這樣指名。兩個最重要的來源: