欢迎光临
我们一直在努力

Qt迭代器(Java类型和STL类型)详解

迭代器为访问容器类里的数据项提供了统一的方法,Qt 有两种迭代器类:Java 类型的迭代器STL 类型的迭代器

两者比较,Java 类型的迭代器更易于使用,且提供一些高级功能,而 STL 类型的迭代器效率更高。

Java 类型迭代器

对于每个容器类,有两个 Java 类型迭代器:一个用于只读操作,一个用于读写操作,各个Java 类型的容器类见表 1。

表 1 Java类型的迭代器类
容器类 只读迭代器 读写迭代器
QList<T>, QQueue<T>  QListItcrator<T> QMutableListItcrator<T>
QLinkedList<T> QLinkedListIterator<T> QMutableLinkedListIterator<T>
QVector<T>, QStack<T> QVectorllcrator<T> QMutableVectorIterator<T>
QSet<T> QSetItcrator<T> QMutableSetItcrator<T>
QMap<Key, T>, QMultiMap<Key, T> QMapIterator<Key, T> QMutableMapIterator<Key, T>
QHash<Key, T>, QMultiHash<Key, T> QHashIterator<Key, T> QMutablcHashlterator<Key, T>

QMap 和 QHash 等关联容器类的迭代器用法相冋,QList 和 QLinkedList、QSet 等容器类的用法相同,所以下面只以 QMap 和 QList 为例介绍迭代器的用法。

顺序容器类的迭代器的使用

Java 类型迭代器的指针不是指向一个数据项,而是在数据项之间,迭代器指针位置示意图如图 2 所示。


Java类型迭代器位置示意图
图 2 Java类型迭代器位置示意图

赞(0) 打赏
未经允许不得转载:hosteons中文网 » Qt迭代器(Java类型和STL类型)详解

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册