const_iterator类
class QJsonObject::const_iteratorQJsonObject::const_iterator类为QJsonObject提供STL风格的const迭代器。《更多...
- 所有成员列表,包括继承的成员
- const_iterator是Qt中对JSON的支持的一部分。
公共类型
公共函数
const_iterator() | |
const_iterator(const QJsonObject::iterator &other) | |
QString | key() const |
QJsonValueConstRef | value() const |
bool | operator!=(const QJsonObject::const_iterator &other) const |
bool | operator!=(const QJsonObject::iterator &other) const |
const QJsonValueConstRef | operator*() const |
QJsonObject::const_iterator | operator+(qsizetype j) const |
QJsonObject::const_iterator & | operator++() |
QJsonObject::const_iterator | operator++(int) |
QJsonObject::const_iterator & | operator+=(qsizetype j) |
QJsonObject::const_iterator | operator-(qsizetype j) const |
qsizetype | operator-(QJsonObject::const_iterator other) const |
QJsonObject::const_iterator & | operator--() |
QJsonObject::const_iterator | operator--(int) |
QJsonObject::const_iterator & | operator-=(qsizetype j) |
const QJsonValueConstRef * | operator->() const |
bool | operator<(const QJsonObject::const_iterator &other) const |
bool | operator<=(const QJsonObject::const_iterator &other) const |
bool | operator==(const QJsonObject::const_iterator &other) const |
bool | operator==(const QJsonObject::iterator &other) const |
bool | operator>(const QJsonObject::const_iterator &other) const |
bool | operator>=(const QJsonObject::const_iterator &other) const |
QJsonValueConstRef | operator[](qsizetype j) const |
详细描述
QJsonObject::const_iterator 允许您迭代遍历一个 QJsonObject。如果在迭代的过程中要修改 QJsonObject,则必须使用 QJsonObject::iterator。通常,即使在非const的 QJsonObject 上,也建议使用 QJsonObject::const_iterator,除非您需要通过迭代器修改 QJsonObject。Const迭代器速度略快,且能提高代码的可读性。
默认的 QJsonObject::const_iterator 构造函数创建了一个未初始化的迭代器。在开始迭代之前,您必须使用例如 QJsonObject::constBegin()、QJsonObject::constEnd() 或 QJsonObject::find() 等函数来初始化它。
可以在同一对象上使用多个迭代器。但是,如果对象被修改,现有的迭代器将变为悬挂。
另请参阅 QJsonObject::iterator、Qt对JSON的支持 和 保存和加载游戏。
成员类型文档
const_iterator::iterator_category
是 std::random_access_iterator_tag 的同义词,表示此迭代器是随机访问迭代器。
注意:在5.6之前的Qt版本中,这被错误地设置为 std::bidirectional_iterator_tag。
成员函数文档
bool const_iterator::operator==(const QJsonObject::const_iterator &other) const
bool const_iterator::operator==(const QJsonObject::iterator &other) const
如果 other 指向与该迭代器相同的项,则返回 true
;否则返回 false
。
另请参阅 operator!=。
bool const_iterator::operator!=(const QJsonObject::const_iterator &other) const
bool const_iterator::operator!=(const QJsonObject::iterator &other) const
如果 other 指向与该迭代器不同的项,则返回 true
;否则返回 false
。
另请参阅 operator==。
const_iterator::const_iterator()
构造一个未初始化的迭代器。
在使用之前,不应在未初始化的迭代器上调用类似于 key、value 和 operator++() 的函数。在使用之前使用 operator=() 将值分配给它。
另请参阅 QJsonObject::constBegin() 和 QJsonObject::constEnd。
const_iterator::const_iterator(const QJsonObject::iterator &other)
构建 other 的副本。
QString const_iterator::key() const
返回当前项的键。
另请参阅 value。
QJsonValueConstRef const_iterator::value() const
返回当前项的值。
const QJsonValueConstRef const_iterator::operator*() const
返回当前项的值。
与 value 相同。
另请参阅key。
QJsonObject::const_iterator const_iterator::operator+(qsizetype j) const
返回一个迭代器,指向从该迭代器开始的前进 j 个位置的项。如果 j 为负数,则迭代器向后移动。
此操作对于较大的 j 值可能较慢。
另请参阅operator-。
QJsonObject::const_iterator &const_iterator::operator++()
前置 ++
运算符,++i
,将迭代器移动到对象中的下一个项目,并返回对新当前项的迭代器。
在 QJsonObject::end() 上调用此函数会导致未定义的结果。
另请参阅operator--。
QJsonObject::const_iterator const_iterator::operator++(int)
这是一个重载函数。
后置 ++
运算符,i++
,将迭代器移动到对象中的下一个项目,并返回对之前当前项的迭代器。
QJsonObject::const_iterator &const_iterator::operator+=(qsizetype j)
将迭代器前移 j 个项目。如果 j 为负数,则迭代器向后移动。
此操作对于较大的 j 值可能较慢。
另请参阅operator-=() 和 operator+。
QJsonObject::const_iterator const_iterator::operator-(qsizetype j) const
返回一个迭代器,指向从该迭代器开始的向后 j 个位置的项。如果 j 为负数,则迭代器向前移动。
此操作对于较大的 j 值可能较慢。
另请参阅operator+。
qsizetype const_iterator::operator-(QJsonObject::const_iterator other) const
返回 other 所指向的项与该迭代器所指向的项之间的项数。
QJsonObject::const_iterator &const_iterator::operator--()
前置 --
运算符,--i
,使前一个项变为当前项,并返回指向新当前项的迭代器。
在 QJsonObject::begin() 上调用此函数会导致未定义的结果。
另请参阅operator++。
QJsonObject::const_iterator const_iterator::operator--(int)
这是一个重载函数。
后缀 --
运算符,i--
,使前一个项目成为当前项,并返回一个指向先前当前项的迭代器。
QJsonObject::const_iterator &const_iterator::operator-=(qsizetype j)
使迭代器向后移动 j个项目。如果 j 是负数,则迭代器向前移动。
此操作对于较大的 j 值可能较慢。
另请参阅operator+=() 和 operator-。
const QJsonValueConstRef *const_iterator::operator->() const
返回当前项的指针。
bool const_iterator::operator<(const QJsonObject::const_iterator &other) const
如果此迭代器指向的项目小于由 other 迭代器指向的项目,则返回 true
。
bool const_iterator::operator<=(const QJsonObject::const_iterator &other) const
如果此迭代器指向的项目小于或等于由 other 迭代器指向的项目,则返回 true
。
bool const_iterator::operator>(const QJsonObject::const_iterator &other) const
如果此迭代器指向的项目大于由 other 迭代器指向的项目,则返回 true
。
bool const_iterator::operator>=(const QJsonObject::const_iterator &other) const
如果此迭代器指向的项目大于或等于由 other 迭代器指向的项目,则返回 true
。
QJsonValueConstRef const_iterator::operator[](qsizetype j) const
返回由此迭代器指向的项目偏离 j 的项目(位置 *this + j
的项目)。
此函数提供以便使 QJsonObject 迭代器表现为 C++ 指针。
另请参阅operator+。
© 2024 The Qt Company Ltd. 本说明文档中包含的文档贡献是各自所有者的版权。本提供的文档是根据自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 的条款许可的。Qt 和相应的商标是芬兰和/或全球其他国家的 The Qt Company Ltd. 的商标。所有其他商标均为各自所有者的财产。