Obsolete Members for <QtCompilerDetection>

Los siguientes miembros de la clase <QtCompilerDetection> son obsoletos. Se proporcionan para que el código fuente antiguo siga funcionando. Desaconsejamos su uso en código nuevo.

Macros

(deprecated) Q_CC_INTEL
(deprecated in 6.4) Q_DECL_CONSTEXPR
(deprecated) Q_DECL_FINAL
(deprecated in 6.4) Q_DECL_NOEXCEPT
(deprecated in 6.4) Q_DECL_NOEXCEPT_EXPR(x)
(deprecated in 6.4) Q_DECL_NOTHROW
(deprecated) Q_DECL_OVERRIDE
(deprecated in 6.4) Q_DECL_RELAXED_CONSTEXPR

Documentación de macros

[deprecated] Q_CC_INTEL

Esta macro está obsoleta. Desaconsejamos su uso en código nuevo.

Esta macro solía definirse si la aplicación se compilaba con el antiguo compilador Intel C++ para Linux, macOS o Windows. El nuevo compilador oneAPI C++ es sólo una compilación de Clang y por lo tanto no define esta macro.

Véase también Q_CC_CLANG.

[deprecated in 6.4] Q_DECL_CONSTEXPR

Esta macro está obsoleta desde la versión 6.4. Desaconsejamos su uso en código nuevo.

Utilice en su lugar la palabra clave constexpr.

Esta macro puede utilizarse para declarar una variable que debe construirse en tiempo de compilación, o una función en línea que puede calcularse en tiempo de compilación.

Véase también Q_DECL_RELAXED_CONSTEXPR y Q_DECL_CONSTEXPR_DTOR.

[deprecated] Q_DECL_FINAL

Esta macro está obsoleta. Desaconsejamos su uso en código nuevo.

Esta macro se puede utilizar para declarar una función virtual o una clase como "final", con la semántica de Java. Otras clases derivadas ya no pueden sobrescribir esta función virtual, o heredar de esta clase, respectivamente.

Se expande a "final".

La macro va al final de la función, normalmente después de const, si existe:

    // more-derived classes no longer permitted to override this:
    virtual void final_func() final;

Para las clases, va delante de : en la definición de la clase, si existe:

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

Véase también Q_DECL_OVERRIDE.

[deprecated in 6.4] Q_DECL_NOEXCEPT

Esta macro está obsoleta desde la versión 6.4. Desaconsejamos su uso en código nuevo.

Utilice en su lugar la palabra clave noexcept.

Esta macro marca una función como nunca lanzable. Si a pesar de todo la función lanza, el comportamiento está definido: se llama a std::terminate().

Véase también Q_DECL_NOTHROW y Q_DECL_NOEXCEPT_EXPR().

[deprecated in 6.4] Q_DECL_NOEXCEPT_EXPR(x)

Esta macro está obsoleta desde la versión 6.4. Desaconsejamos su uso en código nuevo.

Utilice en su lugar la palabra clave noexcept.

Esta macro marca una función como no arrojadiza si x es true. Si la función es arrojadiza, el comportamiento está definido: se llama a std::terminate().

Véase también Q_DECL_NOTHROW y Q_DECL_NOEXCEPT.

[deprecated in 6.4] Q_DECL_NOTHROW

Esta macro está obsoleta desde la versión 6.4. Desaconsejamos su uso en código nuevo.

Utilice en su lugar la palabra clave noexcept.

Esta macro marca una función como nunca lanzable, bajo ninguna circunstancia. Si a pesar de ello la función lanza, el comportamiento es indefinido.

Véase también Q_DECL_NOEXCEPT y Q_DECL_NOEXCEPT_EXPR().

[deprecated] Q_DECL_OVERRIDE

Esta macro está obsoleta. Desaconsejamos su uso en código nuevo.

Esta macro se puede utilizar para declarar una función virtual anuladora. El uso de esta marca permitirá al compilador generar un error si la función virtual que la anula no anula nada.

Se expande a "override".

La macro va al final de la función, normalmente después de const, si existe:

    // generate error if this doesn't actually override anything:
    virtual void override_func() override;

Véase también Q_DECL_FINAL.

[deprecated in 6.4] Q_DECL_RELAXED_CONSTEXPR

Esta macro está obsoleta desde la versión 6.4. Desaconsejamos su uso en código nuevo.

En su lugar, utilice la palabra clave constexpr.

Esta macro se puede utilizar para declarar una función en línea que se puede calcular en tiempo de compilación de acuerdo con las reglas relajadas de C++14.

Véase también Q_DECL_CONSTEXPR y Q_DECL_CONSTEXPR_DTOR.

© 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.