QHashIterator-官翻

QHashIterator Class

template <typename Key, typename T> class QHashIterator

QHashIterator 类为 QHash 和 QMultiHash 提供 Java 风格的常量迭代器。更多内容…

头文件:#include
qmake:QT += core
  • 所有成员列表,包括继承的成员
  • 废弃的成员

公共成员函数

QHashIterator(const QHash<Key, T> &hash)
QHashIterator<Key, T> &operator=(const QHash<Key, T> &container)
boolfindNext(const T &value)
boolhasNext() const
const Key &key() const
QHashIterator::Itemnext()
QHashIterator::ItempeekNext() const
voidtoBack()
voidtoFront()
const T &value() const

详细描述

QHash 同时提供 Java 风格迭代器 和 STL 风格迭代器。Java 风格迭代器比 STL 风格迭代器更高级,更容易使用;同时也略微低效。

QHashIterator<Key, T> 用来遍历 QHash (或 QMultiHash)。如果想在遍历时修改哈希表,要使用 QMutableHashIterator。

QHashIterator 构造函数接受 QHash 作为参数。构造后,迭代器位于哈希表的最开始位置(第一个元素之前)。下面的例子演示如何顺序遍历所有元素:

QHash<int, QWidget *> hash;
...
QHashIterator<int, QWidget *> i(hash);
while (i.hasNext()) {i.next();qDebug() << i.key() << ": " << i.value();
}

next() 函数返回哈希表中的下一个元素并将迭代器前移。key() 和 value() 函数返回跳过的最后一个元素的键和值。

与 STL 风格迭代器不同,Java 风格迭代器指向元素之间而不是直接指向元素。第一次调用 next() 前移迭代器到第一个和第二个元素之间的位置,并返回第一个元素;第二次调用 next() 前移迭代器到第二个和第三个元素之间的位置;以此类推。

img

如果想查找特定值的所有实例,循环使用 findNext()。例如:

QHashIterator<int, QWidget *> i(hash);
while (i.findNext(widget)) {qDebug() << "Found widget " << widget << " under key "<< i.key();
}

同一哈希表可以使用多个迭代器。如果在 QHashIterator处于活动状态时修改哈希表,QHashIterator 将继续在原哈希表上遍历,而忽略修改后的副本。

另请参阅 QMutableHashIterator 和 QHash::const_iterator.

成员函数文档

bool QHashIterator::findNext(const T &value)

从当前迭代器位置开始向前查找值 value。如果找到值为 value 的键值对,返回 true;否则返回 false

调用该函数后,如果找到值 value,迭代器将被移动到匹配元素的后面;否则,迭代器将被移动到容器的末端。

const Key &QHashIterator::key() const

调用遍历函数((next(),findNext())后,该函数返回跳过的最后一个元素的键。

另请参阅 value()。

bool QHashIterator::hasNext() const

如果该迭代器后面至少有一个元素,返回 true,即该迭代器不在容器的末端;否则返回 false

另请参阅 next()。

void QHashIterator::toBack()

将迭代器移动到容器的末端(最后一个元素之后)。

另请参阅 toFront()。

void QHashIterator::toFront()

将迭代器移动到容器的前端(第一个元素之前)。

另请参阅 toBack() 和 next()。

QHashIterator<Key, T> &QHashIterator::operator=(const QHash<Key, T> &container)

将迭代器关联到 container 来遍历哈希表。迭代器将被移动到哈希表的前端(第一个元素之前)。

另请参阅 toFront() 和 toBack()。

QHashIterator::QHashIterator(const QHash<Key, T> &hash)

构造一个迭代器来遍历 hash。迭代器将被移动到哈希表的前端(第一个元素之前)。

另请参阅 operator=()。

QHashIterator::Item QHashIterator::next()

返回下一个元素并将迭代器向前移动一个位置。

对返回值调用 key() 获取元素的键,调用 value() 获取元素的值。

对位于容器末端的迭代器调用该函数将导致未定义结果。

另请参阅 hasNext() 和 peekNext()。

QHashIterator::Item QHashIterator::peekNext() const

不移动迭代器而返回下一个元素。

对返回值调用 key() 获取元素的键,调用 value() 获取元素的值。

对位于容器末端的迭代器调用该函数将导致未定义结果。

另请参阅 hasNext() 和 next()。

const T &QHashIterator::value() const

调用遍历函数(next(),findNext())后,该函数返回跳过的最后一个元素的值。

另请参阅 key()。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39334.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何让你的网页生成一个像siri一样的语音助手

首先你要知道两个概念语音识别 &#x1f984; 与语音合成 &#x1f432;。 语音识别: 语音识别&#xff08;speech recognition&#xff09;技术&#xff0c;也被称为自动语音识别&#xff08;英语&#xff1a;Automatic Speech Recognition, ASR&#xff09;、电脑语音识别&am…

为什么Siri总是像个智障?智能助手背后的技术到底有多难?

导读&#xff1a;本文带你简单了解一下智能助手背后的会话式人工智能技术。 作者&#xff1a;木羊同学 来源&#xff1a;大数据DT&#xff08;ID&#xff1a;hzdashuju&#xff09; 01 大话智能助理 智能助理应该是当前人工智能技术最为成功的落地方向之一。我还记得&#xff0…

一文把 JavaScript 中的 this 聊得明明白白

文章目录 1.this 是什么&#xff1f;2.this的指向2.1 全局上下文的 this 指向2.2 函数&#xff08;普通函数&#xff09;上下文中的 this 指向2.3 事件处理程序中的 this 指向2.4 以对象的方式调用时 this 的指向2.5 构造函数中的 this 指向2.6 在 类上下文中 this 的指向。2.7…

投递简历用什么邮箱最好用?

春招已经开始了&#xff0c;你却还没明白一个问题&#xff1a;为什么你的简历邮件&#xff0c;没有回音&#xff1f;但也许企业根本没有收到你的邮件。邮件&#xff0c;其实是求职中一门不可缺少的基础课。选什么邮箱&#xff1f;邮件如何命名&#xff1f;简历如何命名&#xf…

程序员如何写简历

【面试】程序员如何写简历 一份好的简历可以在整个申请面试以及面试过程中起到非常重要的作用。 一 简历的重要性 简历就像是我们的门面&#xff0c;是 HR 对我们求职者的第一映像&#xff0c;它在很大程度上决定了是否能够获得面试机会。 网申&#xff1a;简历必然经过 HR 的…

大厂程序员手把手教你如何写简历!!(附简历模板)

本文 https://github.com/youngyangyang04/leetcode-master 已经收录&#xff0c;里面还有leetcode刷题攻略、各个类型经典题目刷题顺序、思维导图&#xff0c;可以fork到自己仓库&#xff0c;有空看一看一定会有所收获&#xff0c;如果对你有帮助也给一个star支持一下吧&#…

程序员如何写一份更好的简历

简历中的常见错误 1. 信息过多&#xff0c;缺乏重点 信息过多的常见表现是十几行的技能列表&#xff0c; 我举一个血淋淋的例子&#xff1a; 20 行的技能列表&#xff0c;这位求职者开始就把自己了解的所有工具都列出来&#xff0c;希望能够突显自己的经验和学习能力&#xf…

邮箱投递简历,如何正确书写正文和主题?

前言 又快到了一年一度的春招和毕业季。身边还有许多准备从事IT行业的朋友没有找到工作&#xff0c;基兄特此整理了一份关于自己找工作的经验&#xff08;也参考了网上的部分数据和内容&#xff09;。 本文的内容主要分为邮箱投递简历&#xff0c;如何正确书写正文和主题&#…

【干货】如何打造HR无法拒绝的简历?测试开发大牛带手把手你写简历!

通过率90%&#xff0c;优秀的软件测试简历长什么样&#xff1f; 也许口才好的人会觉得简历不重要&#xff0c;能说就行了&#xff0c;那是因为你没有体会过石沉大海的感觉&#xff01; 很多人觉得疑惑&#xff0c;为什么我投了那么多简历&#xff0c;都没有接到面试通知&…

chatgpt赋能python:Python获取数据:更高效的数据获取与分析

Python获取数据&#xff1a;更高效的数据获取与分析 Python是一种高级的编程语言&#xff0c;常用于数据分析、机器学习、Web开发等领域。它的简单易学、高效便捷的特点使其成为了许多数据分析工作的首选语言。本文将介绍如何使用Python获取数据并进行分析。 为什么选择Pytho…

chatgpt赋能python:Python预处理:提高数据分析效率的重要一步

Python预处理&#xff1a;提高数据分析效率的重要一步 在数据分析的过程中&#xff0c;数据预处理是不可避免的一步&#xff0c;能否有效地进行数据预处理&#xff0c;对于后续的数据分析效率以及结果的准确性至关重要。Python作为一种先进的编程语言&#xff0c;不仅在数据分…

PHP使用CURL请求微信接口返回为空

先贴请求代码 /*** 发送post请求* param string $url 需要请求的地址* return json $output 返回的json字符串*/ function postUrl($url, $data){$data json_encode($data);$headerArray array("Content-type:application/json;charsetutf-8","Accept:appli…

关于PHP调用openAI chatGPT一些问题

我是直接使用gpt生成的curl代码区调用的 1&#xff1a;windows可能出现代理访问问题&#xff0c;报443端口问题 解决办法&#xff1a;开启代理后&#xff0c;需要到设置 确认这里打开状态 在curl请求里面加上对应的代码 curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1&qu…

【包装类】

1.包装类的分类 1&#xff09;针对八种基本数据类型相应的引用类型---包装类 2&#xff09;有了类的特点&#xff0c;就可以调用类中的方法 3&#xff09; 基本数据类型 包装类 boolean Boolean char Character byte Byte short Short int Integer long Long …

包装类

一.包装类&#xff1a; 1. 包装类(Wrapper Class): Java语言是一个面向对象的语言&#xff0c;但是Java中的基本数据类型却是不面向对象的。基本类型的数据不具备"对象"的特性&#xff08;没有成员变量和成员方法可以调用&#xff09;&#xff0c;因此&#xff0c;ja…

包装类概述

Java中有8中基本数据类型&#xff0c;分别是&#xff1a; 包装类就是这8种数据类型所对应的引用数据类型&#xff0c;分别是&#xff1a; - 可能有同学会问&#xff1a;Java为什么要给基本数据类型提供对应的引用数据呢? - 第一&#xff0c;Java是面向对象的语言&#xff0c…

uni-app使用小图标的方式

1.首先我们需要去这里 随便点入一个进入第二步骤 2.把你需要的小图标加入到购物车 3.点击购物车把小图标【添加至项目】 4.最后下载到本地【解压放到项目中去】 5.如下&#xff1a; 6.在main.js里面引入 import ./style/iconfont.css 7.最后就是在页面中直接通过样式类名使…

教你如何用PS制作iOS端APP应用图标AppIcon.appiconset

开发iOS端APP要准备18个不同尺寸的logo&#xff0c;虽然现在有网站提供在线生成APP应用图标&#xff0c;但是这样可能存在泄露高清logo甚至被抢占的风险&#xff0c;下面我将教大家如何用Photoshop制作iOS端AppIcon.appiconset。 其实很简单&#xff0c;我们只要按照Xcode提示做…

【新拟态】左上角标签样式、ICON图标样式、模仿AppStore的应用图标

效果如图↑ <!doctype html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0"…

老胡的周刊(第088期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 nginx-ui[2] Nginx 后台管理 UI&#xff1a;…