迭代器类
class QCborArray::IteratorQCborArray::Iterator类提供了一个STL风格的不可变迭代器,用于QCborArray。更详细...
- 成员列表,包括继承的成员
- 迭代器是Qt中的CBOR支持的组成部分。
公共类型
公共函数
迭代器() | |
Iterator(const QCborArray::Iterator &other) | |
bool | operator!=(const QCborArray::Iterator &other) const |
bool | operator!=(const QCborArray::ConstIterator &other) const |
QCborValueRef | operator*() const |
QCborArray::Iterator | operator+(qsizetype j) const |
QCborArray::Iterator & | operator++() |
QCborArray::Iterator | operator++(int) |
QCborArray::Iterator & | operator+=(qsizetype j) |
QCborArray::Iterator | operator-(qsizetype j) const |
qsizetype | operator-(QCborArray::Iterator other) const |
QCborArray::Iterator & | operator--() |
QCborArray::Iterator | operator--(int) |
QCborArray::Iterator & | operator-=(qsizetype j) |
const QCborValueConstRef * | operator-() const |
bool | operator<(const QCborArray::Iterator &other) const |
bool | operator<(const QCborArray::ConstIterator &other) const |
bool | operator<=(const QCborArray::Iterator &other) const |
bool | operator<=(const QCborArray::ConstIterator &other) const |
QCborArray::Iterator & | operator=(const QCborArray::Iterator &other) |
bool | operator==(const QCborArray::Iterator &other) const |
bool | operator==(const QCborArray::ConstIterator &other) const |
bool | operator>(const QCborArray::Iterator &other) const |
bool | operator>(const QCborArray::ConstIterator &other) const |
bool | operator>=(const QCborArray::Iterator &other) const |
bool | operator>=(const QCborArray::ConstIterator &other) const |
QCborValueRef | operator[](qsizetype j) const |
详细描述
QCborArray::Iterator 允许您遍历一个 QCborArray 并修改与迭代器关联的数组元素。如果您想遍历一个常量 QCborArray,请改用 QCborArray::ConstIterator。在非常量 QCborArray 上使用 QCborArray::ConstIterator 通常也是一个好的做法,除非您需要通过迭代器更改 QCborArray。常量迭代器速度稍快且可以提高代码可读性。
迭代器通过使用 QCborArray 函数初始化,如 QCborArray::begin()、QCborArray::end() 或 QCborArray::insert()。只有在此之后才能进行迭代。
大多数 QCborArray 函数接受整数索引而不是迭代器。因此,迭代器在 QCborArray 的关联中很少有用。STL风格迭代器有意义的一个地方是作为泛型算法的参数。
可以在同一数组上使用多个迭代器。但是,请注意,在 QCborArray 上执行的任何非常量函数调用都将使所有现有迭代器无效。
另请参阅QCborArray::ConstIterator。
成员函数文档
bool Iterator::operator==(const QCborArray::ConstIterator &other) const
bool Iterator::operator==(const QCborArray::Iterator &other) const
如果 other 指向与该迭代器相同的数组中的条目,则返回 true
;否则返回 false
。
另请参阅operator!=。
bool Iterator::operator!=(const QCborArray::ConstIterator &other) const
bool Iterator::operator!=(const QCborArray::Iterator &other) const
如果 other 指向与该迭代器不同的数组中的条目,则返回 true
;否则返回 false
。
另请参阅operator==。
bool Iterator::operator<(const QCborArray::ConstIterator &other) const
bool Iterator::operator<(const QCborArray::Iterator &other) const
如果此迭代器指向的数组中的条目在 other 迭代器指向的条目之前,则返回 true
。
bool Iterator::operator<=(const QCborArray::ConstIterator &other) const
bool Iterator::operator<=(const QCborArray::Iterator &other) const
如果由该迭代器指向的数组条目在其他迭代器指向的条目前面或相同,则返回 true
。
bool Iterator::operator>(const QCborArray::ConstIterator &other) const
bool Iterator::operator>(const QCborArray::Iterator &other) const
如果由该迭代器指向的数组条目在其他迭代器指向的条目之后,则返回 true
。
bool Iterator::operator>=(const QCborArray::ConstIterator &other) const
bool Iterator::operator>=(const QCborArray::Iterator &other) const
如果由该迭代器指向的数组条目在其他迭代器指向的条目之后或相同,则返回 true
。
[constexpr noexcept]
Iterator::Iterator()
构造一个未初始化的迭代器。
函数如operator*()和operator++()不应该在未初始化的迭代器上调用。在使用之前使用operator=()给它赋值。
另请参阅QCborArray::begin() 和 QCborArray::end。
[constexpr noexcept]
Iterator::Iterator(const QCborArray::Iterator &other)
复制其他迭代器的副本。
QCborValueRef Iterator::operator*() const
返回当前项目的可修改引用。
您可以通过在赋值语句左侧使用operator*()来更改项的值。
返回值为QCborValueRef类型,它是QCborArray 和 QCborMap 的辅助类。当您获得QCborValueRef类型的对象时,您可以将其用作对QCborValue的引用。如果您将其赋值,该赋值将应用到从其中获得引用的QCborArray 或 QCborMap 中的元素。
QCborArray::Iterator Iterator::operator+(qsizetype j) const
返回一个迭代器,该迭代器指向距离此迭代器 j步的项。如果 j是负数,迭代器将向后移动。
另请参阅operator-() 和 operator+=。
QCborArray::Iterator &Iterator::operator++()
前缀++
运算符,++it
,将迭代器推进到数组的下一个条目,并返回此迭代器。
在QCborArray::end()上调用此函数将产生未定义的结果。
另请参阅operator--。
QCborArray::Iterator Iterator::operator++(int)
这是一个重载函数。
后缀++运算符,it++,将迭代器移至数组中的下一个项目,并返回对先前当前项目的迭代器。
QCborArray::Iterator &Iterator::operator+=(qsizetype j)
将迭代器前进j个位置。如果j为负数,迭代器将向后移动。返回对该迭代器的引用。
另请参阅operator-=-()和operator+。
QCborArray::Iterator Iterator::operator-(qsizetype j) const
返回一个迭代器,指向从该迭代器起始的后退j步的项目。如果j为负数,迭代器将向前移动。
另请参阅operator+()和operator-=-。
qsizetype Iterator::operator-(QCborArray::Iterator other) const
返回此迭代器相对于other的偏移量。
QCborArray::Iterator &Iterator::operator--()
前缀--运算符,--it,将上一个项目设置为当前项并返回此迭代器。
在QCborArray::begin()上调用此函数将导致未定义结果。
另请参阅operator++。
QCborArray::Iterator Iterator::operator--(int)
这是一个重载函数。
后缀--运算符,it--,将上一个项目设置为当前项并返回对先前当前项目的迭代器。
QCborArray::Iterator &Iterator::operator-=(qsizetype j)
使迭代器后退j个位置。如果j为负数,迭代器将向前移动。返回对此迭代器的引用。
另请参阅operator+=()和operator-。
const QCborValueConstRef *Iterator::operator->() const
返回对当前项目的可变引用的指针。
QCborArray::Iterator &Iterator::operator=(const QCborArray::Iterator &other)
使此迭代器成为other的副本,并返回对此迭代器的引用。
QCborValueRef Iterator::operator[](qsizetype j) const
返回对从由迭代器指向的项目开始的前进j步的项目的可变引用。
此函数用于使 QCborArray 迭代器表现如同 C++ 指针。
返回值为QCborValueRef类型,它是QCborArray 和 QCborMap 的辅助类。当您获得QCborValueRef类型的对象时,您可以将其用作对QCborValue的引用。如果您将其赋值,该赋值将应用到从其中获得引用的QCborArray 或 QCborMap 中的元素。
请参阅 运算符+。
© 2024 The Qt Company Ltd. 本文档中包含的贡献都是各自所有者的版权。本提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 许可的。Qt 及其相关标志是 The Qt Company Ltd. 在芬兰以及全世界其他国家的商标。所有其他商标均属于其各自所有者。