C++迭代器iterator的用法有哪些

c++
小億
101
2023-08-01 11:42:07

C++迭代器(iterator)用于遍歷容器(如數(shù)組、鏈表、向量、集合等)中的元素。迭代器提供了一種統(tǒng)一的方式來(lái)訪問(wèn)和操作容器中的元素,不依賴于具體容器的實(shí)現(xiàn)細(xì)節(jié)。

C++迭代器的用法有以下幾種:

  1. begin()和end():用于返回容器的起始位置和結(jié)束位置的迭代器。例如,使用vector的迭代器可以通過(guò)v.begin()獲取第一個(gè)元素的迭代器,通過(guò)v.end()獲取最后一個(gè)元素的下一個(gè)位置的迭代器。

  2. advance():用于將迭代器向前或向后移動(dòng)指定的距離。例如,使用advance(it, 3)將迭代器it向后移動(dòng)3個(gè)位置。

  3. next()和prev():用于返回指向迭代器當(dāng)前位置后一個(gè)或前一個(gè)位置的迭代器。例如,使用next(it)將返回指向當(dāng)前位置后一個(gè)位置的迭代器。

  4. distance():用于計(jì)算兩個(gè)迭代器之間的距離。例如,使用distance(it1, it2)將返回迭代器it1和it2之間的距離。

  5. insert():用于在指定迭代器位置插入元素。例如,使用v.insert(it, value)將在迭代器it的位置插入值為value的元素。

  6. erase():用于刪除指定迭代器位置的元素。例如,使用v.erase(it)將刪除迭代器it位置的元素。

  7. ==和!=:用于比較兩個(gè)迭代器是否相等。例如,使用it1 == it2判斷兩個(gè)迭代器是否指向同一個(gè)位置。

  8. :用于返回迭代器當(dāng)前位置的元素。例如,使用it獲取迭代器it位置的元素。

以上是一些常用的迭代器用法,不同類型的迭代器可能還有其他方法和操作。需要根據(jù)具體容器類型和需求選擇合適的迭代器用法。

0