在本页

QVariant::Reference Class

template <typename Indirect> class QVariant::Reference

QVariant::Reference 充当QVariant 的非常数引用 ... 更多...

该类在 Qt 6.11 中引入。

公共函数

Reference(Indirect &&referred)
Reference(const Indirect &referred)
operator QVariant() const
QVariant::Reference<Indirect> &operator=(QVariant::ConstReference<Indirect> &&value)
QVariant::Reference<Indirect> &operator=(QVariant::Reference<Indirect> &&value)
QVariant::Reference<Indirect> &operator=(const QVariant &value)
QVariant::Reference<Indirect> &operator=(const QVariant::ConstReference<Indirect> &value)
QVariant::Reference<Indirect> &operator=(const QVariant::Reference<Indirect> &value)

详细说明

由于泛型迭代器并不在每一步都实例化一个QVariant ,因此它们无法从 operator*() 返回一个引用。QVariant::Reference 提供了与实际引用QVariant 相同的功能,但它支持作为模板参数给出的引用值。该模板是为 QMetaSequence::Iterator 和 QMetaAssociation::Iterator 实现的。

成员函数文档

[explicit noexcept(...)] Reference::Reference(Indirect &&referred)

referred 创建QVariant::Reference

注: std::is_nothrow_move_constructible_v<Indirect>true 时,此函数为 noexcept。

[explicit noexcept(...)] Reference::Reference(const Indirect &referred)

referred 创建QVariant::Reference

注: std::is_nothrow_copy_constructible_v<Indirect>true 时,此函数为 noexcept。

[noexcept(...)] Reference::operator QVariant() const

取消引用QVariant 的引用。默认情况下,该方法会实例化一个临时QVariant::ConstReference 并调用取消引用。如果实例化临时ConstReference 的成本较高,则应专门使用此方法。

注: Indirect::CanNoexceptConvertToQVarianttrue 时,此函数为 noexcept。

[noexcept(...)] QVariant::Reference<Indirect> &Reference::operator=(QVariant::ConstReference<Indirect> &&value)

QVariant::Reference 所引用的值分配一个新的value

注: Indirect::CanNoexceptAssignQVarianttrue 时,此函数为 noexcept。

[noexcept(...)] QVariant::Reference<Indirect> &Reference::operator=(QVariant::Reference<Indirect> &&value)

QVariant::Reference 所引用的值分配一个新的value

注: Indirect::CanNoexceptAssignQVarianttrue 时,此函数为 noexcept。

[noexcept(...)] QVariant::Reference<Indirect> &Reference::operator=(const QVariant &value)

QVariant::Reference 所引用的值分配一个新的value 。这种方法需要为每种间接类型专门设计。它已为 QMetaSequence::Iterator 和 QMetaAssociation::Iterator 预定义。

注意: Indirect::CanNoexceptAssignQVarianttrue 时,此函数为 noexcept。

[noexcept(...)] QVariant::Reference<Indirect> &Reference::operator=(const QVariant::ConstReference<Indirect> &value)

QVariant::Reference 所引用的值分配一个新的value

注: Indirect::CanNoexceptAssignQVarianttrue 时,此函数为 noexcept。

[noexcept(...)] QVariant::Reference<Indirect> &Reference::operator=(const QVariant::Reference<Indirect> &value)

QVariant::Reference 所引用的值分配一个新的value

注: Indirect::CanNoexceptAssignQVarianttrue 时,此函数为 noexcept。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.