const_iterator类

class QJsonObject::const_iterator

QJsonObject::const_iterator类为QJsonObject提供STL风格的const迭代器。《更多...

公共类型

公共函数

const_iterator()
const_iterator(const QJsonObject::iterator &other)
QStringkey() const
QJsonValueConstRefvalue() const
booloperator!=(const QJsonObject::const_iterator &other) const
booloperator!=(const QJsonObject::iterator &other) const
const QJsonValueConstRefoperator*() const
QJsonObject::const_iteratoroperator+(qsizetype j) const
QJsonObject::const_iterator &operator++()
QJsonObject::const_iteratoroperator++(int)
QJsonObject::const_iterator &operator+=(qsizetype j)
QJsonObject::const_iteratoroperator-(qsizetype j) const
qsizetypeoperator-(QJsonObject::const_iterator other) const
QJsonObject::const_iterator &operator--()
QJsonObject::const_iteratoroperator--(int)
QJsonObject::const_iterator &operator-=(qsizetype j)
const QJsonValueConstRef *operator->() const
booloperator<(const QJsonObject::const_iterator &other) const
booloperator<=(const QJsonObject::const_iterator &other) const
booloperator==(const QJsonObject::const_iterator &other) const
booloperator==(const QJsonObject::iterator &other) const
booloperator>(const QJsonObject::const_iterator &other) const
booloperator>=(const QJsonObject::const_iterator &other) const
QJsonValueConstRefoperator[](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::iteratorQt对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()

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

在使用之前,不应在未初始化的迭代器上调用类似于 keyvalue 和 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

返回当前项的值。

另请参阅key() 和 operator*()。

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. 的商标。所有其他商标均为各自所有者的财产。