迭代器类
类 QJsonArray::iteratorQJsonArray::iterator 类提供了对 QJsonArray 的 STL 风格非定非迭代器。 更多...
公共类型
公共函数
iterator() | |
bool | operator!=(const QJsonArray::iterator &other) const |
bool | operator!=(const QJsonArray::const_iterator &other) const |
QJsonValueRef | operator*() const |
QJsonArray::iterator | operator+(qsizetype j) const |
QJsonArray::iterator & | operator++() |
QJsonArray::iterator | operator++(int) |
QJsonArray::iterator & | operator+=(qsizetype j) |
QJsonArray::iterator | operator-(qsizetype j) const |
qsizetype | operator-(QJsonArray::iterator other) const |
QJsonArray::iterator & | operator--() |
QJsonArray::iterator | operator--(int) |
QJsonArray::iterator & | operator-=(qsizetype j) |
const QJsonValueConstRef * | operator->() const |
bool | operator<(const QJsonArray::iterator &other) const |
bool | operator<(const QJsonArray::const_iterator &other) const |
bool | operator<=(const QJsonArray::iterator &other) const |
bool | operator<=(const QJsonArray::const_iterator &other) const |
bool | operator==(const QJsonArray::iterator &other) const |
bool | operator==(const QJsonArray::const_iterator &other) const |
bool | operator>(const QJsonArray::iterator &other) const |
bool | operator>(const QJsonArray::const_iterator &other) const |
bool | operator>=(const QJsonArray::iterator &other) const |
bool | operator>=(const QJsonArray::const_iterator &other) const |
QJsonValueRef | operator[](qsizetype j) const |
详细描述
QJsonArray::iterator 允许您遍历一个 QJsonArray 并修改与迭代器关联的数组项。如果您想遍历一个 const QJsonArray,请使用 QJsonArray::const_iterator。一般而言,在非 const QJsonArray 上使用 QJsonArray::const_iterator 也是一个好习惯,除非您需要通过迭代器更改 QJsonArray。const 迭代器稍微快一些,并可以提高代码的可读性。
默认的 QJsonArray::iterator 构造函数创建一个未初始化的迭代器。在开始迭代之前,您必须使用 QJsonArray 函数(如 QJsonArray::begin()、QJsonArray::end 或 QJsonArray::insert)来初始化它。
大多数 QJsonArray 函数都接受一个整数索引而不是一个迭代器。因此,迭代器在 QJsonArray 的连接中很少使用。STL 风格迭代器合理使用的一个地方是将它们作为泛型算法的参数。
可以使用多个迭代器对同一数组进行操作。但是,请注意,任何对 QJsonArray 执行的非 const 函数调用都将使所有现有的迭代器未定义。
另请参阅 QJsonArray::const_iterator。
成员函数文档
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,它是 QJsonArray 和 QJsonObject 的辅助类。当您获得类型为 QJsonValueRef 的对象时,您可以使用它就像它是QJsonValue 的引用一样。如果您向它赋值,赋值将对您从其中获得引用的QJsonArray 或 QJsonObject 中的字符生效。
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类型,是QJsonArray和QJsonObject的辅助类。当您获取QJsonValueRef类型的对象时,您可以像引用QJsonValue一样使用它。如果您向它赋值,则赋值将应用于您获取引用的QJsonArray或QJsonObject元素。
另请参阅operator+()。
© 2024 The Qt Company Ltd. 本文档中包含的文档贡献均为各自所有者的版权。提供的文档在自由软件基金会发布并由该基金会出版的GNU自由文档许可协议版本1.3下获得许可。Qt及其相关标志是The Qt Company Ltd在芬兰及/或其他国家/地区的商标。商标归其各自所有者所有。