本页内容

QCborArray::ConstIterator Class

class QCborArray::ConstIterator

QCborArray::ConstIterator 类为QCborArray 提供了STL风格的const迭代器。更多内容...

QCborArray::ConstIterator 比较

类别可比较类型
strongQCborArray::ConstIterator
strongQCborArray::Iterator.

公共类型

公共函数

ConstIterator()
ConstIterator(const QCborArray::ConstIterator &other)
QCborValueConstRef operator*() const
QCborArray::ConstIterator operator+(qsizetype j) const
QCborArray::ConstIterator &operator++()
QCborArray::ConstIterator operator++(int)
QCborArray::ConstIterator &operator+=(qsizetype j)
qsizetype operator-(QCborArray::ConstIterator other) const
QCborArray::ConstIterator operator-(qsizetype j) const
QCborArray::ConstIterator &operator--()
QCborArray::ConstIterator operator--(int)
QCborArray::ConstIterator &operator-=(qsizetype j)
const QCborValueConstRef *operator->() const
QCborArray::ConstIterator &operator=(const QCborArray::ConstIterator &other)
QCborValueConstRef operator[](qsizetype j) const
bool operator!=(const QCborArray::ConstIterator &lhs, const QCborArray::ConstIterator &rhs)
bool operator<(const QCborArray::ConstIterator &lhs, const QCborArray::ConstIterator &rhs)
bool operator<=(const QCborArray::ConstIterator &lhs, const QCborArray::ConstIterator &rhs)
bool operator==(const QCborArray::ConstIterator &lhs, const QCborArray::ConstIterator &rhs)
bool operator>(const QCborArray::ConstIterator &lhs, const QCborArray::ConstIterator &rhs)
bool operator>=(const QCborArray::ConstIterator &lhs, const QCborArray::ConstIterator &rhs)

详细说明

QCborArray::ConstIterator 允许您遍历一个QCborArray 。如果您希望在遍历过程中修改QCborArray ,请改用QCborArray::Iterator 。通常,即使对于非const类型的QCborArray ,只要您不需要通过迭代器更改QCborArray ,使用QCborArray::ConstIterator 也是良好的编程实践。常量迭代器速度稍快,且能提高代码可读性。

迭代器需通过QCborArray 函数(如QCborArray::begin() 或QCborArray::end())进行初始化。只有完成初始化后,才能进行迭代。

大多数QCborArray 函数接受整数索引而非迭代器。因此,迭代器在与QCborArray 配合使用时很少有用。STL风格的迭代器真正有意义的一个场景是作为generic algorithms 的参数。

同一个数组上可以使用多个迭代器。但请注意,对QCborArray 执行任何非const函数调用,都会导致所有现有迭代器行为未定义。

另请参阅 QCborArray::Iterator 。

成员类型文档

ConstIterator::iterator_category

std::random_access_iterator_tag的同义词,表示该迭代器是一个随机访问迭代器。

成员函数文档

[constexpr noexcept default] ConstIterator::ConstIterator()

构建一个未初始化的迭代器。

不应在未初始化的迭代器上调用 operator*() 和 operator++() 等函数。在使用之前,请使用 operator=() 向其赋值。

另请参阅 QCborArray::constBegin() 和QCborArray::constEnd()。

[constexpr noexcept default] ConstIterator::ConstIterator(const QCborArray::ConstIterator &other)

创建other 的副本。

QCborValueConstRef ConstIterator::operator*() const

返回当前项目。

QCborArray::ConstIterator ConstIterator::operator+(qsizetype j) const

返回一个迭代器,该迭代器指向从当前迭代器向前移动j 步处的项目。如果j 为负数,则迭代器向后移动。

另请参阅 operator-() 和operator+=()。

QCborArray::ConstIterator &ConstIterator::operator++()

前缀++ 运算符(++it )将迭代器向前移动到数组中的下一个元素,并返回该迭代器。

在 `QCborArray::end()` 上调用此函数将导致未定义的结果。

另请参阅 operator--()。

QCborArray::ConstIterator ConstIterator::operator++(int)

后缀运算符++ (it++ )将迭代器向前移动到数组中的下一个元素,并返回指向先前当前元素的迭代器。

这是一个重载函数。

QCborArray::ConstIterator &ConstIterator::operator+=(qsizetype j)

将迭代器向前移动j 个位置。如果j 为负数,则迭代器向后移动。返回对此迭代器的引用。

另请参阅 operator-=() 和operator+()。

qsizetype ConstIterator::operator-(QCborArray::ConstIterator other) const

返回该迭代器相对于other 的偏移量。

QCborArray::ConstIterator ConstIterator::operator-(qsizetype j) const

返回一个迭代器,该迭代器指向从当前迭代器向后移动j 步处的项目。如果j 为负数,则迭代器向前移动。

另请参阅 operator+() 和operator-=()。

QCborArray::ConstIterator &ConstIterator::operator--()

前缀-- 运算符(--it )将前一个元素设为当前元素,并返回该迭代器。

在 `QCborArray::begin()` 上调用此函数将导致未定义的结果。

另请参阅 operator++()。

QCborArray::ConstIterator ConstIterator::operator--(int)

后缀运算符-- (it-- )将前一个元素设为当前元素,并返回指向先前当前元素的迭代器。

这是一个重载函数。

QCborArray::ConstIterator &ConstIterator::operator-=(qsizetype j)

使迭代器向后移动j 个位置。如果j 为负数,则迭代器向前移动。返回对此迭代器的引用。

另请参阅 operator+=() 和operator-()。

const QCborValueConstRef *ConstIterator::operator->() const

返回指向当前项的指针。

QCborArray::ConstIterator &ConstIterator::operator=(const QCborArray::ConstIterator &other)

将该迭代器复制为 `other ` 的副本,并返回对此迭代器的引用。

QCborValueConstRef ConstIterator::operator[](qsizetype j) const

返回位于该迭代器所指向的项目前方j 步处的位置上的项目。

提供此函数是为了使QCborArray 迭代器表现得像 C++ 指针一样。

另请参阅 operator+()。

相关的非成员函数

[noexcept] bool operator!=(const QCborArray::ConstIterator &lhs, const QCborArray::ConstIterator &rhs)

如果 `lhs ` 指向数组中与迭代器 `rhs ` 不同的条目,则返回 `true `;否则返回 `false`。

另请参阅 operator==()。

[noexcept] bool operator<(const QCborArray::ConstIterator &lhs, const QCborArray::ConstIterator &rhs)

如果由迭代器 `lhs ` 指向的数组条目出现在迭代器 `rhs ` 指向的条目之前,则返回 `true `。

[noexcept] bool operator<=(const QCborArray::ConstIterator &lhs, const QCborArray::ConstIterator &rhs)

如果由迭代器 `lhs ` 指向的数组中的条目出现在迭代器 `rhs ` 指向的条目之前,或者与该条目相同,则返回 `true `。

[noexcept] bool operator==(const QCborArray::ConstIterator &lhs, const QCborArray::ConstIterator &rhs)

如果 `lhs ` 指向的数组项与迭代器 `rhs ` 指向的数组项相同,则返回 `true `;否则返回 `false`。

另请参阅 operator!=()。

[noexcept] bool operator>(const QCborArray::ConstIterator &lhs, const QCborArray::ConstIterator &rhs)

如果由迭代器 `lhs ` 指向的数组中的条目位于由迭代器 `rhs ` 指向的条目之后,则返回 `true `。

[noexcept] bool operator>=(const QCborArray::ConstIterator &lhs, const QCborArray::ConstIterator &rhs)

如果由迭代器 `lhs ` 所指向的数组中的条目位于迭代器 `rhs ` 所指向的条目之后,或者与该条目相同,则返回 `true `。

© 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.