QCborMap::Iterator Class
class QCborMap::IteratorQCborMap::Iterator 类为QCborMap 提供了STL风格的非const迭代器。更多内容...
- 所有成员列表(包括继承的成员)
- Iterator 是Qt 中 CBOR 支持的一部分。
QCborMap::Iterator 比较
| 类别 | 可比较类型 |
|---|---|
| strong | QCborMap::Iterator |
| strong | ConstIterator. |
公共类型
公共函数
| Iterator() | |
| Iterator(const QCborMap::Iterator &other) | |
| ~Iterator() | |
| QCborValue | key() const |
| QCborValueRef | value() const |
| QCborMap::Iterator::value_type | operator*() const |
| QCborMap::Iterator | operator+(qsizetype j) const |
| QCborMap::Iterator & | operator++() |
| QCborMap::Iterator | operator++(int) |
| QCborMap::Iterator & | operator+=(qsizetype j) |
| qsizetype | operator-(QCborMap::Iterator j) const |
| QCborMap::Iterator | operator-(qsizetype j) const |
| QCborMap::Iterator & | operator--() |
| QCborMap::Iterator | operator--(int) |
| QCborMap::Iterator & | operator-=(qsizetype j) |
| const QCborValueConstRef * | operator->() const |
| QCborMap::Iterator & | operator=(const QCborMap::Iterator &other) |
相关的非成员
| bool | operator!=(const QCborMap::Iterator &lhs, const QCborMap::ConstIterator &rhs) |
| bool | operator!=(const QCborMap::Iterator &lhs, const QCborMap::Iterator &rhs) |
| bool | operator<(const QCborMap::Iterator &lhs, const QCborMap::ConstIterator &rhs) |
| bool | operator<(const QCborMap::Iterator &lhs, const QCborMap::Iterator &rhs) |
| bool | operator<=(const QCborMap::Iterator &lhs, const QCborMap::ConstIterator &rhs) |
| bool | operator<=(const QCborMap::Iterator &lhs, const QCborMap::Iterator &rhs) |
| bool | operator==(const QCborMap::Iterator &lhs, const QCborMap::ConstIterator &rhs) |
| bool | operator==(const QCborMap::Iterator &lhs, const QCborMap::Iterator &rhs) |
| bool | operator>(const QCborMap::Iterator &lhs, const QCborMap::ConstIterator &rhs) |
| bool | operator>(const QCborMap::Iterator &lhs, const QCborMap::Iterator &rhs) |
| bool | operator>=(const QCborMap::Iterator &lhs, const QCborMap::ConstIterator &rhs) |
| bool | operator>=(const QCborMap::Iterator &lhs, const QCborMap::Iterator &rhs) |
详细说明
QCborMap::Iterator 允许您遍历QCborMap ,并修改存储在特定键下的值(但不能修改键)。 如果您想遍历一个 constQCborMap ,应使用QCborMap::ConstIterator 。通常,对非 constQCborMap 也使用QCborMap::ConstIterator 是一种良好的编程习惯,除非您需要通过迭代器更改QCborMap 。常量迭代器速度稍快,且能提高代码的可读性。
在开始迭代之前,必须使用QCborMap 函数(如QCborMap::begin()、QCborMap::end() 或QCborMap::find())对迭代器进行初始化。
同一个对象上可以使用多个迭代器。但是,一旦对象被修改,现有的迭代器将变为悬空迭代器。
另请参阅 QCborMap::ConstIterator 。
成员函数文档
[constexpr noexcept default] Iterator::Iterator()
构建一个未初始化的迭代器。
不得对未初始化的迭代器调用key()、value() 和 operator++() 等函数。在使用之前,请使用 operator=() 向其赋值。
另请参阅 QCborMap::begin() 和QCborMap::end()。
[constexpr noexcept default] Iterator::Iterator(const QCborMap::Iterator &other)
构建一个迭代器,该迭代器是other 的副本。
[constexpr noexcept default] Iterator::~Iterator()
销毁Iterator 的实例。
QCborValue Iterator::key() const
返回当前项的键。
虽然无法通过迭代器直接更改项的键,但可以通过先调用 `QCborMap::erase()`,然后调用 `QCborMap::insert()` 来实现。
另请参阅 value()。
QCborValueRef Iterator::value() const
返回对当前项值的可修改引用。
您可以在赋值语句的左侧使用 value() 来更改键的值。
返回值的类型为 QCborValueRef,这是QCborArray 和QCborMap 的辅助类。当您获得一个 QCborValueRef 类型的对象时,可以将其视为对QCborValue 的引用。如果您对其进行赋值,该赋值将应用于您从中获取该引用的QCborArray 或QCborMap 中的元素。
QCborMap::Iterator::value_type Iterator::operator*() const
返回一个包含当前项的键以及指向当前项值的可修改引用组成的元组。
该对的第二个元素类型为 QCborValueRef,这是QCborArray 和QCborMap 的辅助类。当您获取一个 QCborValueRef 类型的对象时,可以将其视为对QCborValue 的引用。如果您对其进行赋值,该赋值将作用于您从中获取该引用的QCborArray 或QCborMap 中的元素。
QCborMap::Iterator Iterator::operator+(qsizetype j) const
返回一个迭代器,该迭代器指向距离当前迭代器向前j 个位置处的项目。如果j 为负数,则迭代器将向后移动。
另请参阅 operator-()。
QCborMap::Iterator &Iterator::operator++()
前缀++ 运算符(++i )将迭代器向前移动到map中的下一个元素,并返回该迭代器。
在 `QCborMap::end()` 上调用此函数将导致未定义的结果。
另请参阅 operator--()。
QCborMap::Iterator Iterator::operator++(int)
后缀运算符++ (i++ )将迭代器向前移动到映射中的下一个元素,并返回指向前一个当前元素的迭代器。
这是一个重载函数。
QCborMap::Iterator &Iterator::operator+=(qsizetype j)
将迭代器向前移动j 个项目。如果j 为负数,则迭代器向后移动。返回对此迭代器的引用。
另请参阅 operator-=() 和operator+()。
qsizetype Iterator::operator-(QCborMap::Iterator j) const
返回迭代器j 处项相对于当前迭代器处项的位置。如果j 处项位于当前项之前,则返回值为负数。
另请参阅 operator+()。
QCborMap::Iterator Iterator::operator-(qsizetype j) const
返回一个迭代器,该迭代器指向从当前迭代器向后移动j 个位置处的项目。如果j 为负数,则迭代器向前移动。
另请参阅 operator+()。
QCborMap::Iterator &Iterator::operator--()
前缀-- 运算符(--i )将前一个元素设为当前元素,并返回该迭代器。
在 `QCborMap::begin()` 上调用此函数将导致未定义的结果。
另请参阅 operator++()。
QCborMap::Iterator Iterator::operator--(int)
后缀运算符-- (i-- )将前一个元素设为当前元素,并返回一个指向先前当前元素的迭代器。
这是一个重载函数。
QCborMap::Iterator &Iterator::operator-=(qsizetype j)
使迭代器向后移动j 个元素。如果j 为负数,则迭代器向前移动。返回对此迭代器的引用。
另请参阅 operator+=() 和operator-()。
const QCborValueConstRef *Iterator::operator->() const
返回指向当前元组值的可修改引用指针。
QCborMap::Iterator &Iterator::operator=(const QCborMap::Iterator &other)
将该迭代器作为other 的副本,并返回对此迭代器的引用。
相关的非成员
[noexcept] bool operator!=(const QCborMap::Iterator &lhs, const QCborMap::ConstIterator &rhs)
[noexcept] bool operator!=(const QCborMap::Iterator &lhs, const QCborMap::Iterator &rhs)
如果 `lhs ` 指向的映射条目与 `rhs ` 迭代器指向的条目不同,则返回 `true `;否则返回 `false`。
另请参阅 operator==()。
[noexcept] bool operator<(const QCborMap::Iterator &lhs, const QCborMap::ConstIterator &rhs)
[noexcept] bool operator<(const QCborMap::Iterator &lhs, const QCborMap::Iterator &rhs)
如果由迭代器 `lhs ` 指向的映射条目出现在迭代器 `rhs ` 指向的条目之前,则返回 `true `。
[noexcept] bool operator<=(const QCborMap::Iterator &lhs, const QCborMap::ConstIterator &rhs)
[noexcept] bool operator<=(const QCborMap::Iterator &lhs, const QCborMap::Iterator &rhs)
如果由迭代器 `lhs ` 指向的映射中的条目出现在迭代器 `rhs ` 指向的条目之前,或者与该条目相同,则返回 `true `。
[noexcept] bool operator==(const QCborMap::Iterator &lhs, const QCborMap::ConstIterator &rhs)
[noexcept] bool operator==(const QCborMap::Iterator &lhs, const QCborMap::Iterator &rhs)
如果 `lhs ` 指向与迭代器 `rhs ` 在映射中相同的条目,则返回 `true `;否则返回 `false`。
另请参阅 operator!=()。
[noexcept] bool operator>(const QCborMap::Iterator &lhs, const QCborMap::ConstIterator &rhs)
[noexcept] bool operator>(const QCborMap::Iterator &lhs, const QCborMap::Iterator &rhs)
如果由迭代器 `lhs ` 指向的映射中的条目位于由迭代器 `rhs ` 指向的条目之后,则返回 `true `。
[noexcept] bool operator>=(const QCborMap::Iterator &lhs, const QCborMap::ConstIterator &rhs)
[noexcept] bool operator>=(const QCborMap::Iterator &lhs, const QCborMap::Iterator &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.