const_iterator 类

class QFuture::const_iterator

QFuture::const_iterator 类提供了一个用于 QFuture 的 STL 风格的 const 迭代器。《更多...》

注意: 此类中所有函数都是 重入 的。

公共类型

公共函数

const_iterator()
const_iterator(const QFuture<T>::const_iterator &other)
booloperator!=(const QFuture<T>::const_iterator &other) const
const T &operator*() const
QFuture<T>::const_iteratoroperator+(int j) const
QFuture<T>::const_iterator &operator++()
QFuture<T>::const_iteratoroperator++(int)
QFuture<T>::const_iterator &operator+=(int j)
QFuture<T>::const_iteratoroperator-(int j) const
QFuture<T>::const_iterator &operator--()
QFuture<T>::const_iteratoroperator--(int)
QFuture<T>::const_iterator &operator-=(int j)
const T *operator->() const
QFuture<T>::const_iterator &operator=(const QFuture<T>::const_iterator &other)
booloperator==(const QFuture<T>::const_iterator &other) const

详细介绍

QFuture 既提供了 STL 风格迭代器 也提供了 Java 风格迭代器。STL 风格的迭代器更底层、更复杂;另一方面,它们稍微快一些,对于已经熟悉 STL 的开发人员来说,具有熟悉的优势。

默认的 QFuture::const_iterator 构造函数创建一个未初始化的迭代器。您在开始迭代之前必须使用如 QFutureQFuture::constBegin() 或 QFuture::constEnd() 等函数来初始化它。以下是一个典型循环,用于打印未来中所有可用的结果

QFuture<QString> future = ...;

QFuture<QString>::const_iterator i;
for (i = future.constBegin(); i != future.constEnd(); ++i)
    cout << qPrintable(*i) << endl;

另请参阅QFutureIteratorQFuture

成员类型文档

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. 在芬兰和其他国家的商标。所有其他商标均为各自所有者的财产。