已知:
STL組成部分:
容器、迭代器、算法、函數對象、空間分配器
容器:用于保存一組數據,數據個體被稱為元素
迭代器:用于遍歷容器中的元素,容器都有自己專屬的迭代器,只有容器才知道如何遍歷自己的元素。
迭代器用于訪問和處理一級容器(包含順序容器和關聯容器)中的元素。對于容器適配器則不能使用迭代器。
對于順序容器,如vector: 輸出數據的次序與輸入次序一致
對于關聯容器,如set:輸出數據的次序不同于輸入次序
迭代器的分類:
通過迭代器只讀只寫容器內容,可以分為輸入迭代器(可以讀取迭代器指向的數據)和輸出迭代器(可以修改迭代器指向的數據)。
根據迭代器的迭代方式:單步迭代器(只能向前++)、雙向迭代器(能向前++或向后–),隨機迭代器(類似普通指針,可以++、–、跳轉)
不同容器的迭代方式:
當使用assign操作和erase操作時,一些容器的迭代器可能會失效,所以當使用這兩個操作后,最好對迭代器重新指向。