deprecated (C++)
(Spécifiques à Microsoft) avec les exceptions notées ci-dessous, la déclaration de déconseillé offre les mêmes fonctionnalités que le pragma de déconseillé :
La déclaration de déconseillé vous permet de spécifier les formulaires spéciaux des surcharges de la fonction comme déconseillés, alors que le formulaire pragma applique à toutes les formes surchargées d'un nom de fonction.
La déclaration de déconseillé vous permet de spécifier un message qui s'affiche au moment de la compilation.Le texte du message peut être d'une macro.
Les macros peuvent être marquées comme déconseillées avec le pragma de déconseillé .
Si le compilateur rencontre l'utilisation d'un identificateur déconseillés, un avertissement de C4996 est levée.
Exemple
L'exemple suivant montre comment marquer des fonctions comme déconseillés, et comment spécifier un message qui sera affiché au moment de la compilation, lorsque la fonction déconseillée est utilisée.
// 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
}
L'exemple suivant montre comment marquer des classes comme déconseillés, et comment spécifier un message qui sera affiché au moment de la compilation, lorsque la classe déconseillée est utilisée.
// 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
}