C++迭代器(iterator)用于遍歷容器(如數組、鏈表、向量、集合等)中的元素。迭代器提供了一種統一的方式來訪問和操作容器中的元素,不依賴于具體容器的實現細節。
C++迭代器的用法有以下幾種:
begin()和end():用于返回容器的起始位置和結束位置的迭代器。例如,使用vector
advance():用于將迭代器向前或向后移動指定的距離。例如,使用advance(it, 3)將迭代器it向后移動3個位置。
next()和prev():用于返回指向迭代器當前位置后一個或前一個位置的迭代器。例如,使用next(it)將返回指向當前位置后一個位置的迭代器。
distance():用于計算兩個迭代器之間的距離。例如,使用distance(it1, it2)將返回迭代器it1和it2之間的距離。
insert():用于在指定迭代器位置插入元素。例如,使用v.insert(it, value)將在迭代器it的位置插入值為value的元素。
erase():用于刪除指定迭代器位置的元素。例如,使用v.erase(it)將刪除迭代器it位置的元素。
==和!=:用于比較兩個迭代器是否相等。例如,使用it1 == it2判斷兩個迭代器是否指向同一個位置。
:用于返回迭代器當前位置的元素。例如,使用it獲取迭代器it位置的元素。
以上是一些常用的迭代器用法,不同類型的迭代器可能還有其他方法和操作。需要根據具體容器類型和需求選擇合適的迭代器用法。