QFuture::const_iterator Class
class QFuture::const_iteratorQFuture::const_iterator 类为QFuture 提供了一个STL风格的const迭代器。更多内容...
注意:该类中的所有函数均为可重入的。
公共类型
公共函数
| 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 = someQStringFuture;
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 的 typedef。为确保与 STL 兼容而提供。
const_iterator::iterator_category
std::bidirectional_iterator_tag 的 typedef。为兼容 STL 而提供。
const_iterator::pointer
const T * 的 typedef。为兼容 STL 而提供。
const_iterator::reference
const T & 的 typedef。为兼容 STL 而提供。
const_iterator::value_type
T 的 typedef 定义。为确保与 STL 兼容而提供。
成员函数文档
[default] 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!=()。
© 2026 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.