Espacios de nombres
Variantes
Acciones

atributo de C++: deprecated (desde C++14)

De cppreference.com
< cpp‎ | language‎ | attributes
 
 
 
 
 

Inidica que el nombre o entidad declarado(a) con este atributo se encuentra en desuso u obsoleto. Es decir, se permite su uso, pero se desalienta por alguna razón.

Contenido

[editar]Sintaxis

[[deprecated]] (1)
[[deprecated(literal-de-cadena)]] (2)
literal-de-cadena - Texto que podría ser usado para explicar el razonamiento para la obsolescencia o sugerir una entidad que la reemplace.

[editar]Explicación

Indica que el uso del nombre o entidad declarado(a) con este atributo se permite, pero no se aconseja por alguna razón. Los compiladores típicamente generan advertencias en tales usos. El literal-de-cadena, si se especifica, habitualmente se incluye en las advertencias.

Se permite este atributo en las declaraciones de los siguientes nombres o entidades:

Un nombre declarado como no obsoleto puede ser redeclarado como obsoleto o en desuso. Un nombre declarado como obsoleto o en desuso no puede revertirse como no obsoleto volviéndolo a declarar sin este atributo.

[editar]Ejemplo

#include <iostream>   [[deprecated]]void PeriodoTriasico(){std::clog<<"Periodo Triásico: hace [251.9 - 208.5] millones de años.\n";}   [[deprecated("Use es su lugar PeriodoNeogeno().")]]void PeriodoJurasico(){std::clog<<"Periodo Jurásico: hace [201.3 - 152.1] millones de años.\n";}   [[deprecated("Use calcularAlgoDiferente(int).")]]int calcularAlgo(int x){return x *2;}   int main(){ PeriodoTriasico(); PeriodoJurasico());}

Posible salida:

Periodo Triásico: hace [251.9 - 208.5] millones de años. Periodo Jurásico: hace [201.3 - 152.1] millones de años.   main.cpp:20:5: warning: 'PeriodoTriasico' is deprecated [-Wdeprecated-declarations] PeriodoTriasico(); ^ main.cpp:3:3: note: 'PeriodoJurasico' has been explicitly marked deprecated here [[deprecated]] ^ main.cpp:21:5: warning: 'PeriodoJurasico' is deprecated: Use es su lugar PeriodoNeogeno() [-Wdeprecated-declarations] PeriodoJurasico(); ^ main.cpp:8:3: note: 'PeriodoJurasico' has been explicitly marked deprecated here [[deprecated("Use es su lugar PeriodoNeogeno()")]] ^ 2 warnings generated.

[editar]Véase también

Documentación de C para deprecated
close