已废弃的 <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_NOTHROW 和 Q_DECL_NOEXCEPT_EXPR。
[自 6.4 废弃]
Q_DECL_NOEXCEPT_EXPR(x)
自 6.4 版本起,这个宏定义已被废弃。我们强烈建议不要在新的代码中使用它。
请使用 noexcept
关键字。
如果 x 是 true
,则此宏标记函数为非抛出。如果函数仍然抛出异常,将有定义的行为:调用 std::terminate()。
另请参阅Q_DECL_NOTHROW和Q_DECL_NOEXCEPT。
[已弃用 6.4版本]
Q_DECL_NOTHROW
自 6.4 版本起,这个宏定义已被废弃。我们强烈建议不要在新的代码中使用它。
请使用 noexcept
关键字。
这个宏标记一个函数在任何情况下都不会抛出异常。如果该函数确实抛出了异常,其行为是未定义的。
另请参阅Q_DECL_NOEXCEPT和Q_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的商标。所有其他商标是各自所有者的财产。