已废弃的 <QtCompilerDetection> 成员函数

以下 <QtCompilerDetection> 类的成员函数已被废弃。 提供它们是为了确保旧代码仍然可以工作。我们强烈建议不要在新的代码中使用它们。

宏定义

(废弃) Q_CC_INTEL
(自 6.4 废弃) Q_DECL_CONSTEXPR
(废弃) Q_DECL_FINAL
(自 6.4 废弃) Q_DECL_NOEXCEPT
(自 6.4 废弃) Q_DECL_NOEXCEPT_EXPR(x)
(自 6.4 废弃) Q_DECL_NOTHROW
(废弃) Q_DECL_OVERRIDE
(自 6.4 废弃) Q_DECL_RELAXED_CONSTEXPR

宏定义文档

[废弃] Q_CC_INTEL

这个宏定义已被废弃。我们强烈建议不要在新的代码中使用它。

这个宏定义如果应用程序是用旧的 Intel C++ 编译器(适用于 Linux、macOS 或 Windows)编译的,则会被定义。而新的 oneAPI C++ 编译器只是 Clang 的构建版本,因此不会定义此宏。

另请参阅 Q_CC_CLANG

[自 6.4 废弃] Q_DECL_CONSTEXPR

自 6.4 版本起,这个宏定义已被废弃。我们强烈建议不要在新的代码中使用它。

请使用 constexpr 关键字代替。

此宏可以用来声明应该在编译时构建的变量,或可以编译时计算的内联函数。

另请参阅 Q_DECL_RELAXED_CONSTEXPR

[废弃] Q_DECL_FINAL

这个宏定义已被废弃。我们强烈建议不要在新的代码中使用它。

这个宏可以用来声明覆盖的虚拟函数或 "final" 类,具有 Java 语义。进一步派生的类将无法再覆盖此虚拟函数,或从此类继承。

它展开为 "final"。

宏位于函数末尾,通常在 const 之后,如果有的话

    // more-derived classes no longer permitted to override this:
    virtual void MyWidget::paintEvent(QPaintEvent*) final;

对于类,它位于类定义中的 : 前面,如果有的话

    class QRect final { // cannot be derived from
        // ...
    };

另请参阅 Q_DECL_OVERRIDE

[自 6.4 废弃] Q_DECL_NOEXCEPT

自 6.4 版本起,这个宏定义已被废弃。我们强烈建议不要在新的代码中使用它。

请使用 noexcept 关键字。

此宏标记一个函数不会抛出异常。如果函数确实抛出异常,将定义行为:调用 std::terminate()。

另请参阅 Q_DECL_NOTHROWQ_DECL_NOEXCEPT_EXPR

[自 6.4 废弃] Q_DECL_NOEXCEPT_EXPR(x)

自 6.4 版本起,这个宏定义已被废弃。我们强烈建议不要在新的代码中使用它。

请使用 noexcept 关键字。

如果 xtrue,则此宏标记函数为非抛出。如果函数仍然抛出异常,将有定义的行为:调用 std::terminate()。

另请参阅Q_DECL_NOTHROWQ_DECL_NOEXCEPT

[已弃用 6.4版本]Q_DECL_NOTHROW

自 6.4 版本起,这个宏定义已被废弃。我们强烈建议不要在新的代码中使用它。

请使用 noexcept 关键字。

这个宏标记一个函数在任何情况下都不会抛出异常。如果该函数确实抛出了异常,其行为是未定义的。

另请参阅Q_DECL_NOEXCEPTQ_DECL_NOEXCEPT_EXPR

[已弃用]Q_DECL_OVERRIDE

这个宏定义已被废弃。我们强烈建议不要在新的代码中使用它。

这个宏可以用来声明一个重写虚函数。使用这个标记将允许编译器生成错误,如果重写的虚函数实际上没有重写任何东西。

它展开为"override"。

宏位于函数末尾,通常在 const 之后,如果有的话

    // generate error if this doesn't actually override anything:
    virtual void MyWidget::paintEvent(QPaintEvent*) override;

另请参阅Q_DECL_FINAL

[已弃用 6.4版本]Q_DECL_RELAXED_CONSTEXPR

自 6.4 版本起,这个宏定义已被废弃。我们强烈建议不要在新的代码中使用它。

请使用 constexpr 关键字代替。

这个宏可以用于声明一个内联函数,该函数可以按照C++14的放宽规则在编译时进行计算。

另请参阅Q_DECL_CONSTEXPR

© 2024 Qt公司有限公司。本文件中的文档贡献版权归各自所有者所有。本文件中提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt及其相关标志是芬兰和/或世界其他地区的The Qt Company Ltd的商标。所有其他商标是各自所有者的财产。