如何为特定需求定制开发网站程序?
摘要:全定制网站开发,网站程序开发,做网站费用怎么入账,免费网站如何做推广方案QHashIterator Class template <typename Key, typename T> class QHashIte
全定制网站开发,网站程序开发,做网站费用怎么入账,免费网站如何做推广方案QHashIterator Class
template typename Key, typename T class QHashIterator
QHashIterator 类为 QHash 和 QMultiHash 提供 Java 风格的常量迭代器。更多内容…
头文件:#include qmake:QT core
所有成员列表#xff0c;包括继承的成员废弃的成员
公共成员函数…QHashIterator Class
template typename Key, typename T class QHashIterator
QHashIterator 类为 QHash 和 QMultiHash 提供 Java 风格的常量迭代器。更多内容…
头文件:#include qmake:QT core
所有成员列表包括继承的成员废弃的成员
公共成员函数
QHashIterator(const QHashKey, T hash)QHashIteratorKey, T operator(const QHashKey, T container)boolfindNext(const T value)boolhasNext() constconst Key key() constQHashIterator::Itemnext()QHashIterator::ItempeekNext() constvoidtoBack()voidtoFront()const T value() const
详细描述
QHash 同时提供 Java 风格迭代器 和 STL 风格迭代器。Java 风格迭代器比 STL 风格迭代器更高级更容易使用同时也略微低效。
QHashIteratorKey, T 用来遍历 QHash (或 QMultiHash)。如果想在遍历时修改哈希表要使用 QMutableHashIterator。
QHashIterator 构造函数接受 QHash 作为参数。构造后迭代器位于哈希表的最开始位置第一个元素之前。下面的例子演示如何顺序遍历所有元素
QHashint, QWidget * hash;
...
QHashIteratorint, QWidget * i(hash);
while (i.hasNext()) {i.next();qDebug() i.key() : i.value();
}next() 函数返回哈希表中的下一个元素并将迭代器前移。key() 和 value() 函数返回跳过的最后一个元素的键和值。
与 STL 风格迭代器不同Java 风格迭代器指向元素之间而不是直接指向元素。第一次调用 next() 前移迭代器到第一个和第二个元素之间的位置并返回第一个元素第二次调用 next() 前移迭代器到第二个和第三个元素之间的位置以此类推。 如果想查找特定值的所有实例循环使用 findNext()。例如
QHashIteratorint, 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()。
QHashIteratorKey, T QHashIterator::operator(const QHashKey, T container)
将迭代器关联到 container 来遍历哈希表。迭代器将被移动到哈希表的前端第一个元素之前。
另请参阅 toFront() 和 toBack()。
QHashIterator::QHashIterator(const QHashKey, 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()。
