迭代器类

QCborMap::Iterator

QCborMap::Iterator 类提供一个 STL 风格的非常量迭代器,用于 QCborMap。更多...

公共类型

公共函数

迭代器()
Iterator(const QCborMap::Iterator &other)
QCborValuekey() const
QCborValueRefvalue() const
booloperator!=(const QCborMap::Iterator &other) const
booloperator!=(const QCborMap::ConstIterator &other) const
QCborMap::Iterator::value_typeoperator*() const
QCborMap::Iteratoroperator+(qsizetype j) const
QCborMap::Iterator &operator++()
QCborMap::Iteratoroperator++(int)
QCborMap::Iterator &operator+=(qsizetype j)
QCborMap::Iteratoroperator-(qsizetype j) const
qsizetypeoperator-(QCborMap::Iterator j) const
QCborMap::Iterator &operator--()
QCborMap::Iteratoroperator--(int)
QCborMap::Iterator &operator-=(qsizetype j)
const QCborValueConstRef *operator->() const
booloperator<(const QCborMap::Iterator &other) const
booloperator<(const QCborMap::ConstIterator &other) const
booloperator<=(const QCborMap::Iterator &other) const
booloperator<=(const QCborMap::ConstIterator &other) const
QCborMap::Iterator &operator=(const QCborMap::Iterator &other)
booloperator==(const QCborMap::Iterator &other) const
booloperator==(const QCborMap::ConstIterator &other) const
booloperator>(const QCborMap::Iterator &other) const
booloperator>(const QCborMap::ConstIterator &other) const
booloperator>=(const QCborMap::Iterator &other) const
booloperator>=(const QCborMap::ConstIterator &other) const

详细描述

QCborMap::Iterator 允许您遍历一个 QCborMap 并修改特定键下存储的值(但不能修改键)。如果您想遍历一个 const QCborMap,应该使用 QCborMap::ConstIterator。在非 const QCborMap 上使用 QCborMap::ConstIterator 也是一种通常的好做法,除非您需要通过迭代器更改 QCborMap。常量迭代器会稍微快一些,并且可以提高代码可读性。

在开始遍历之前,您必须使用类似于 QCborMap::begin()、QCborMap::endQCborMap::find() 的 QCborMap 函数初始化迭代器。

可以在同一对象上使用多个迭代器。但是,一旦对象被修改,现有迭代器将变为悬空指针。

另请参阅 QCborMap::ConstIterator

成员类型文档

Iterator::iterator_category

表示这是随机访问迭代器的 std::random_access_iterator_tag 的同义词。

成员函数文档

bool Iterator::operator==(const QCborMap::ConstIterator &other) const

bool Iterator::operator==(const QCborMap::Iterator &other) const

如果 other 指向在映射中与当前迭代器相同的条目,则返回 true;否则返回 false

另请参阅 operator!=

bool Iterator::operator!=(const QCborMap::ConstIterator &other) const

bool Iterator::operator!=(const QCborMap::Iterator &other) const

如果 other 指向与当前迭代器不同的映射条目,则返回 true;否则返回 false

另请参阅 operator==

bool Iterator::operator<(const QCborMap::ConstIterator &other) const

bool Iterator::operator<(const QCborMap::Iterator &other) const

如果由当前迭代器指向的映射条目早于 other 迭代器指向的条目,则返回 true

bool Iterator::operator<=(const QCborMap::ConstIterator &other) const

bool Iterator::operator<=(const QCborMap::Iterator &other) const

如果由当前迭代器指向的映射条目早于或等于 other 迭代器指向的条目,则返回 true

布尔型 Iterator::大于(const QCborMap::ConstIterator &其他) const

布尔型 Iterator::大于(const QCborMap::Iterator &其他) const

如果此迭代器指向的地图条目在其他迭代器指向的条目之后,则返回true

布尔型 Iterator::大于等于(const QCborMap::ConstIterator &其他) const

布尔型 Iterator::大于等于(const QCborMap::Iterator &其他) const

如果此迭代器指向的地图条目在其他迭代器指向的条目之后或相同,则返回true

[constexpr noexcept] Iterator::构造函数()

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

不能在未初始化的迭代器上调用key()、value()和operator++()等函数。在使用之前,必须先用operator=()给它赋值。

有关更多信息,请参阅QCborMap::begin()和QCborMap::end

[constexpr noexcept] Iterator::拷贝构造函数(const QCborMap::Iterator &其他)

将迭代器作为其他的拷贝构造。

QCborValue Iterator::key() const

返回当前项的键。

没有直接通过迭代器修改项键的方法,尽管可以通过调用QCborMap::erase()然后调用QCborMap::insert()来做到这一点。

有关更多信息,请参阅value

QCborValueRef Iterator::value() const

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

您可以通过在赋值运算符的左侧使用value()来改变键的值。

返回值为类型QCborValue的引用,是一种辅助类,用于QCborArrayQCborMap。获取到这个引用的对象时,您可以用它来当作QCborValue的引用来使用。如果您对它进行赋值,赋值会应用于从QCborArrayQCborMap获取的引用中的元素。

有关更多信息,请参阅key()和operator*

QCborMap::Iterator::value_type Iterator::operator*() const

返回一个包含当前项键和当前项值可修改引用的元组。

对的第二个元素是QCborValueRef类型,这是用于QCborArrayQCborMap的一个辅助类。当得到一个QCborValueRef类型的对象时,你可以将其当作对QCborValue的引用来使用。如果对其进行赋值,赋值将作用于从QCborArrayQCborMap中获取引用的元素。

另请参阅 key()和value()。

QCborMap::Iterator Iterator::operator+(qsizetype j) const

返回一个指向距离此迭代器j个位置的项目的迭代器。如果j为负值,则迭代器向后移动。

另请参阅 operator-()。

QCborMap::Iterator &Iterator::operator++()

前缀操作符++,例如,++i,将迭代器向前移动到映射中的下一个项目,并返回此迭代器。

QCborMap::end()上调用此函数会导致未定义的结果。

另请参阅 operator--()。

QCborMap::Iterator Iterator::operator++(int)

这是一个重载的函数。

后缀操作符++,例如,i++,将迭代器向前移动到映射中的下一个项目,并返回对之前当前项目的迭代器。

QCborMap::Iterator &Iterator::operator+=(qsizetype j)

通过j个项目移动迭代器。如果j为负值,则迭代器向后移动。返回此迭代器的引用。

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

QCborMap::Iterator Iterator::operator-(qsizetype j) const

返回一个指向距离此迭代器j个位置的项目的迭代器。如果j为负值,则迭代器向前移动。

另请参阅 operator+()。

qsizetype Iterator::operator-(QCborMap::Iterator j) const

返回相对于此迭代器的项目迭代器j的位置。如果项目迭代器j位于当前项目之前,则返回值为负。

另请参阅 operator+()。

QCborMap::Iterator &Iterator::operator--()

前缀操作符--,例如,--i,将前一个项目设为当前项目,并返回此迭代器。

QCborMap::begin()上调用此函数会导致未定义的结果。

另请参阅 operator++()。

QCborMap::Iterator Iterator::operator--(int)

这是一个重载的函数。

后缀操作符--,例如,i--,将前一个项目设为当前项目,并返回指向之前当前项目的迭代器。

QCborMap::Iterator &Iterator::operator-=(qsizetype j)

使迭代器向后移动j项。如果j是负数,则迭代器向前移动。返回对此迭代器的引用。

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

const QCborValueConstRef *Iterator::operator->() const

返回对当前对价值可修改引用的指针。

QCborMap::Iterator &Iterator::operator=(const QCborMap::Iterator &other)

将此迭代器设置为other的副本,并返回对此迭代器的引用。

© 2024 Qt公司有限公司。此处包含的文档贡献是各自所有者的版权。本处的文档许可协议根据自由软件基金会发布的GNU自由文档许可版本1.3条款。Qt及其相关标志是芬兰和/或世界其他国家的Qt公司商标。所有其他商标均为其各自所有者的财产。