首页 > 编程知识 正文

迭代器怎么实现自增,迭代器实现原理

时间:2023-05-06 08:41:32 阅读:148802 作者:282

迭代器就像一个指向容器中元素的指针,通过它可以读取容器中的元素

容器可以访问以下元素

例如:

int main () vector inta={ 1,2,3 }; vector int :3360迭代器I=a.begin (; while(I!=a.end () { cout *i ' ); I; }} begin ()方法返回与容器的第一个元素相对应的迭代器

容器适配器是没有迭代器的由于操作受到限制,只能访问适配器特定位置的元素。 例如,队列只能访问队列标头。

迭代器分类顺序迭代器:可以操作p、p、*p。 另外,两个前向迭代器可以相互赋值,也可以使用==和!=用运算符进行比较。 但是,大小无法进行比较。 迭代器:容器类名:reverse_iterator迭代器名称; 与前向迭代器的操作逻辑相反。 本质上与前向迭代器相同。 在双向迭代器:中,如果在迭代器指向第一个元素之前或之后访问迭代器指向的元素,程序将崩溃。

不同类型迭代器的功能

迭代器功能vector随机访问deque随机访问list双向set/multiset双向图/multimap双向堆栈不支持迭代器queue不支持迭代器priority_queue不支持迭代器distance(p,q ) :计算两个迭代器之间的距离,即迭代器p与迭代器q进行了几次操作后等于迭代器q。 如果在调用时p已经指向q的后面,则此函数将陷入死循环。 ITER_SWAP(P,q ) :用于交换两个迭代器p,q指定的值。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。