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位置的元素。
以上是一些常用的迭代器用法,不同类型的迭代器可能还有其他方法和操作。需要根据具体容器类型和需求选择合适的迭代器用法。