C++迭代器iterator的用法有哪些
C++迭代器(iterator)用于遍历容器(如数组、链表、向量、集合等)中的元素。迭代器提供了一种统一的方式来访问和操作容器中的元素,不依赖于具体容器的实现细节。
C++迭代器的用法有以下几种:
-
begin()和end():用于返回容器的起始位置和结束位置的迭代器。例如,使用vector
的迭代器可以通过v.begin()获取第一个元素的迭代器,通过v.end()获取最后一个元素的下一个位置的迭代器。 -
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位置的元素。
以上是一些常用的迭代器用法,不同类型的迭代器可能还有其他方法和操作。需要根据具体容器类型和需求选择合适的迭代器用法。