迭代器类

QJsonArray::iterator

QJsonArray::iterator 类提供了对 QJsonArray 的 STL 风格非定非迭代器。 更多...

公共类型

公共函数

iterator()
booloperator!=(const QJsonArray::iterator &other) const
booloperator!=(const QJsonArray::const_iterator &other) const
QJsonValueRefoperator*() const
QJsonArray::iteratoroperator+(qsizetype j) const
QJsonArray::iterator &operator++()
QJsonArray::iteratoroperator++(int)
QJsonArray::iterator &operator+=(qsizetype j)
QJsonArray::iteratoroperator-(qsizetype j) const
qsizetypeoperator-(QJsonArray::iterator other) const
QJsonArray::iterator &operator--()
QJsonArray::iteratoroperator--(int)
QJsonArray::iterator &operator-=(qsizetype j)
const QJsonValueConstRef *operator->() const
booloperator<(const QJsonArray::iterator &other) const
booloperator<(const QJsonArray::const_iterator &other) const
booloperator<=(const QJsonArray::iterator &other) const
booloperator<=(const QJsonArray::const_iterator &other) const
booloperator==(const QJsonArray::iterator &other) const
booloperator==(const QJsonArray::const_iterator &other) const
booloperator>(const QJsonArray::iterator &other) const
booloperator>(const QJsonArray::const_iterator &other) const
booloperator>=(const QJsonArray::iterator &other) const
booloperator>=(const QJsonArray::const_iterator &other) const
QJsonValueRefoperator[](qsizetype j) const

详细描述

QJsonArray::iterator 允许您遍历一个 QJsonArray 并修改与迭代器关联的数组项。如果您想遍历一个 const QJsonArray,请使用 QJsonArray::const_iterator。一般而言,在非 const QJsonArray 上使用 QJsonArray::const_iterator 也是一个好习惯,除非您需要通过迭代器更改 QJsonArray。const 迭代器稍微快一些,并可以提高代码的可读性。

默认的 QJsonArray::iterator 构造函数创建一个未初始化的迭代器。在开始迭代之前,您必须使用 QJsonArray 函数(如 QJsonArray::begin()、QJsonArray::endQJsonArray::insert)来初始化它。

大多数 QJsonArray 函数都接受一个整数索引而不是一个迭代器。因此,迭代器在 QJsonArray 的连接中很少使用。STL 风格迭代器合理使用的一个地方是将它们作为泛型算法的参数。

可以使用多个迭代器对同一数组进行操作。但是,请注意,任何对 QJsonArray 执行的非 const 函数调用都将使所有现有的迭代器未定义。

另请参阅 QJsonArray::const_iterator

成员类型文档

iterator::iterator_category

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

成员函数文档

bool iterator::operator==(const QJsonArray::const_iterator &other) const

bool iterator::operator==(const QJsonArray::iterator &other) const

如果 other 指向与此迭代器相同的项,则返回 true;否则返回 false

另请参阅 运算符!=

bool iterator::operator!=(const QJsonArray::const_iterator &other) const

bool iterator::operator!=(const QJsonArray::iterator &other) const

如果 other 指向与此迭代器不同的项,则返回 true;否则返回 false

另请参阅 运算符==

bool iterator::operator<(const QJsonArray::const_iterator &other) const

bool iterator::operator<(const QJsonArray::iterator &other) const

如果此迭代器所指的项小于另一个迭代器所指的项,则返回 true

bool iterator::operator<=(const QJsonArray::const_iterator &other) const

bool iterator::operator<=(const QJsonArray::iterator &other) const

如果此迭代器指向的项目小于或等于其他迭代器指向的项目,则返回 true

bool iterator::operator>(const QJsonArray::const_iterator &other) const

bool iterator::operator>(const QJsonArray::iterator &other) const

如果此迭代器指向的项目大于其他迭代器指向的项目,则返回 true

bool iterator::operator>=(const QJsonArray::const_iterator &other) const

bool iterator::operator>=(const QJsonArray::iterator &other) const

如果此迭代器指向的项目大于或等于其他迭代器指向的项目,则返回 true

iterator::iterator()

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

不要在未初始化的迭代器上调用类似operator*()和operator++()的函数。在使用之前,应先使用operator=()为其赋值。

另请参阅QJsonArray::begin() 和 QJsonArray::end

QJsonValueRef iterator::operator*() const

返回对当前项目的可修改引用。

您可以通过使用赋值运算符左侧的operator*()来更改项的值。

返回值是类型 QJsonValueRef,它是 QJsonArrayQJsonObject 的辅助类。当您获得类型为 QJsonValueRef 的对象时,您可以使用它就像它是QJsonValue 的引用一样。如果您向它赋值,赋值将对您从其中获得引用的QJsonArrayQJsonObject 中的字符生效。

QJsonArray::iterator iterator::operator+(qsizetype j) const

返回一个迭代器,该迭代器指向从当前迭代器开始向前 j 个位置的项目。如果 j 为负数,迭代器将向回移动。

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

QJsonArray::iterator &iterator::operator++()

前缀operator++运算符 ++,即 ++it,将迭代器前进到数组中的下一个项目,并返回对新当前项的迭代器。

QJsonArray::end() 上调用此函数会导致不确定性结果。

另请参阅operator--

QJsonArray::iterator iterator::operator++(int)

这是一个重载函数。

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

QJsonArray::iterator &iterator::operator+=(qsizetype j)

将迭代器前移j个元素。如果j为负,则迭代器向后移动。

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

QJsonArray::iterator iterator::operator-(qsizetype j) const

返回从此迭代器开始后退j个位置的元素迭代器。如果j为负,则迭代器向前移动。

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

qsizetype iterator::operator-(QJsonArray::iterator other) const

返回由other所指向的项和此迭代器所指向的项之间的元素数量。

QJsonArray::iterator &iterator::operator--()

前缀--运算符----it,使前一个元素成为当前元素,并返回对新当前元素的迭代器。

QJsonArray::begin()上调用以此函数会导致不确定的结果。

另请参阅operator++()。

QJsonArray::iterator iterator::operator--(int)

这是一个重载函数。

后缀--运算符--it--,将前一个元素设置为当前元素,并返回到之前当前元素的迭代器。

QJsonArray::iterator &iterator::operator-=(qsizetype "j)

使迭代器向后移动j个元素。如果j为负,则迭代器向前移动。

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

const QJsonValueConstRef *iterator::operator->() const

返回对当前元素的可修改引用的指针。

QJsonValueRef iterator::operator[](qsizetype j) const

返回对此迭代器所指向的元素向后偏移j个位置的元素的 可修改引用。

此函数提供,以便使QJsonArray迭代器行为类似于C++指针。

返回值是QJsonValueRef类型,是QJsonArrayQJsonObject的辅助类。当您获取QJsonValueRef类型的对象时,您可以像引用QJsonValue一样使用它。如果您向它赋值,则赋值将应用于您获取引用的QJsonArrayQJsonObject元素。

另请参阅operator+()。

© 2024 The Qt Company Ltd. 本文档中包含的文档贡献均为各自所有者的版权。提供的文档在自由软件基金会发布并由该基金会出版的GNU自由文档许可协议版本1.3下获得许可。Qt及其相关标志是The Qt Company Ltd在芬兰及/或其他国家/地区的商标。商标归其各自所有者所有。