12-1 為什麼需要 Iterator? 在學 STL 之前,我們通常用「下標」存取陣列: int a[] = {3, 1, 4, 1, 5}; for (int i = 0; i < 5; i++) { cout << a[i] << " "; } 容器種類很多(vector、list、set、map……),它們的內部結構不同。傳統的作法是針對不同的容器撰寫其存取元素的成員函數。但是這樣一來,每種容器都有自己的介面,對於寫程式的人來說是個很大的困擾。 Iterator(迭代器) 就是一個「統一的指標」,讓你用相同的寫法走訪不同的容器。