QFuture::const_iterator Class

class QFuture::const_iterator

QFuture::const_iterator 类为QFuture 提供了 STL 风格的常量迭代器。更多

注:该类中的所有函数都是可重入的

公共类型

公共函数

const_iterator()
const_iterator(const QFuture<T>::const_iterator &other)
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 &lhs, const QFuture<T>::const_iterator &rhs)
bool operator==(const QFuture<T>::const_iterator &lhs, const QFuture<T>::const_iterator &rhs)

详细说明

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;

另请参见 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 的副本。

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

相关非成员

[noexcept] bool operator!=(const QFuture<T>::const_iterator &lhs, const QFuture<T>::const_iterator &rhs)

如果lhs 指向与rhs 迭代器不同的结果,则返回true ;否则返回false

另请参阅 operator==() 。

[noexcept] bool operator==(const QFuture<T>::const_iterator &lhs, const QFuture<T>::const_iterator &rhs)

如果lhs 指向与rhs 迭代器相同的结果,则返回true ;否则返回false

另请参阅 operator!=() 。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.