deprecated (C++)
(Microsoft specifico) con le eccezioni riportate di seguito, deprecato la dichiarazione fornisce la stessa funzionalità di deprecato pragma:
deprecato la dichiarazione consente di specificare i form specifici degli overload di funzione come deprecati, mentre il form di pragma si applica a tutti gli overload di un nome di funzione.
deprecato la dichiarazione consente di specificare un messaggio visualizzato in fase di compilazione.Il testo del messaggio può provenire da una macro.
Le macro possono essere contrassegnate solo come deprecate con deprecato pragma.
Se il compilatore rileva l'utilizzo di un identificatore deprecato, a C4996 avviso viene generato.
Esempio
Di seguito viene illustrato come contrassegnare funzioni come deprecate e come specificare un messaggio visualizzato in fase di compilazione, quando la funzione deprecata viene utilizzata.
// deprecated.cpp
// compile with: /W3
#define MY_TEXT "function is deprecated"
void func1(void) {}
__declspec(deprecated) void func1(int) {}
__declspec(deprecated("** this is a deprecated function **")) void func2(int) {}
__declspec(deprecated(MY_TEXT)) void func3(int) {}
int main() {
func1();
func1(1); // C4996
func2(1); // C4996
func3(1); // C4996
}
Di seguito viene illustrato come contrassegnare le classi come deprecate e come specificare un messaggio visualizzato in fase di compilazione, quando la classe deprecata viene utilizzata.
// deprecate_class.cpp
// compile with: /W3
struct __declspec(deprecated) X {
void f(){}
};
struct __declspec(deprecated("** X2 is deprecated **")) X2 {
void f(){}
};
int main() {
X x; // C4996
X2 x2; // C4996
}