const_iterator 类
class QFuture::const_iteratorQFuture::const_iterator 类提供了一个用于 QFuture 的 STL 风格的 const 迭代器。《更多...》
注意: 此类中所有函数都是 重入 的。
公共类型
公共函数
const_iterator() | |
const_iterator(const QFuture<T>::const_iterator &other) | |
bool | operator!=(const QFuture<T>::const_iterator &other) const |
const T & | operator*() const |
QFuture<T>::const_iterator | operator+(int j) const |
QFuture<T>::const_iterator & | operator++() |
QFuture<T>::const_iterator | operator++(int) |
QFuture<T>::const_iterator & | operator+=(int j) |
QFuture<T>::const_iterator | operator-(int j) const |
QFuture<T>::const_iterator & | operator--() |
QFuture<T>::const_iterator | operator--(int) |
QFuture<T>::const_iterator & | operator-=(int j) |
const T * | operator->() const |
QFuture<T>::const_iterator & | operator=(const QFuture<T>::const_iterator &other) |
bool | operator==(const QFuture<T>::const_iterator &other) const |
详细介绍
QFuture 既提供了 STL 风格迭代器 也提供了 Java 风格迭代器。STL 风格的迭代器更底层、更复杂;另一方面,它们稍微快一些,对于已经熟悉 STL 的开发人员来说,具有熟悉的优势。
默认的 QFuture::const_iterator 构造函数创建一个未初始化的迭代器。您在开始迭代之前必须使用如 QFuture 的 QFuture::constBegin() 或 QFuture::constEnd() 等函数来初始化它。以下是一个典型循环,用于打印未来中所有可用的结果
QFuture<QString> future = ...; QFuture<QString>::const_iterator i; for (i = future.constBegin(); i != future.constEnd(); ++i) cout << qPrintable(*i) << endl;
另请参阅QFutureIterator 和 QFuture。
成员类型文档
const_iterator::difference_type
对ptrdiff_t的定义。提供以兼容STL。
const_iterator:: iterator_category
定义了std::bidirectional_iterator_tag。提供以兼容STL。
const_iterator:: pointer
定义了const T *。提供以兼容STL。
const_iterator:: reference
定义了const T &。提供以兼容STL。
const_iterator:: value_type
定义了T。提供以兼容STL。
成员函数文档
const_iterator:: const_iterator()
构造一个未初始化的迭代器。
不要在未初始化的迭代器上调用如operator*() 和 operator++() 等函数。在使用之前,使用operator=()将其分配一个值。
另请参阅QFuture::constBegin() 和 QFuture::constEnd().
const_iterator:: const_iterator(const QFuture<T>::const_iterator &other)
构造了other的副本。
bool const_iterator:: operator!=(const QFuture<T>::const_iterator &other) const
如果other指向的结果与该迭代器不同,则返回true
;否则返回false
。
另请参阅operator==().
const T &const_iterator:: operator*() const
返回当前结果。
QFuture<T>::const_iterator const_iterator:: operator+(int j) const
返回指向在此迭代器当前位置前j个结果位置的迭代器。 (如果j是负数,迭代器会向后移动。)
另请参阅operator-() 和 operator+=().
QFuture<T>::const_iterator &const_iterator:: operator++()
前缀 ++
运算符 (++it
) 将迭代器推进到未来中的下一个结果,并返回对新当前结果的迭代器。
在此函数上调用 QFuture<T>::constEnd() 会导致未定义的结果。
另请参阅operator--().
QFuture<T>::const_iterator const_iterator:: operator++(int)
这是重载的函数。
后缀 ++
运算符 (it++
) 将迭代器推进到未来中的下一个结果,并返回对先前当前结果的迭代器。
QFuture<T>::const_iterator &const_iterator::operator+=(int j)
迭代器前进 j 个结果。(j 为负值时,迭代器向后移动。
另请参阅 operator-=() 和 operator+()。
QFuture<T>::const_iterator const_iterator::operator-(int j) const
返回一个迭代器,指向从本迭代器向前 j 个位置的结果。(如果 j 为负值,迭代器向前移动)
另请参阅 operator+() 和 operator-=()。
QFuture<T>::const_iterator &const_iterator::operator--()
前缀 --
运算符 (--it
) 使得前面的结果变为当前结果,并返回对新当前结果的迭代器。
在对 QFuture<T>::constBegin() 调用此函数将导致未定义的结果。
另请参阅 operator++()。
QFuture<T>::const_iterator const_iterator::operator--(int)
这是重载的函数。
后缀 --
运算符 (it--
) 使得前面的结果变为当前结果,并返回之前当前结果的迭代器。
QFuture<T>::const_iterator &const_iterator::operator-=(int j)
使迭代器向后移动 j 个结果。(如果 j 为负值,迭代器向前移动)
另请参阅 operator+=() 和 operator-()。
const T *const_iterator::operator->() const
返回当前结果的指针。
QFuture<T>::const_iterator &const_iterator::operator=(const QFuture<T>::const_iterator &other)
将 other 赋值给此迭代器。
bool const_iterator::operator==(const QFuture<T>::const_iterator &other) const
如果 other 指向与此迭代器相同的结果,则返回 true
;否则返回 false
。
另请参阅 operator!=()。
© 2024 The Qt Company Ltd. 本文档中的文档贡献作品的版权为其各自的版权拥有者。本提供的文档是根据自由软件基金会发布的 GNU自由文档许可证版本1.3 的条款许可的。Qt 和相关标志是 The Qt Company Ltd. 在芬兰和其他国家的商标。所有其他商标均为各自所有者的财产。