przestarzałe (C++)
Ten temat dotyczy deklaracji declspec specyficznej dla firmy Microsoft. Aby uzyskać informacje o atrybucie C++14 [[deprecated]]
i wskazówki dotyczące tego, kiedy używać tego atrybutu w porównaniu z dekrecją lub pragma specyficzną dla firmy Microsoft, zobacz Atrybuty standardowe języka C++.
Z wyjątkami opisanymi poniżej deprecated
deklaracja oferuje taką samą funkcjonalność jak przestarzała pragma:
Deklaracja
deprecated
umożliwia określenie określonych form przeciążeń funkcji jako przestarzałych, natomiast formularz pragma ma zastosowanie do wszystkich przeciążonych form nazwy funkcji.Deklaracja
deprecated
umożliwia określenie komunikatu, który będzie wyświetlany w czasie kompilacji. Tekst wiadomości może pochodzić z makra.Makra mogą być oznaczone jako przestarzałe tylko z
deprecated
pragma.
Jeśli kompilator napotka użycie przestarzałego identyfikatora lub atrybutu standardowego [[deprecated]]
, zostanie zwrócone ostrzeżenie C4996 .
Przykłady
W poniższym przykładzie pokazano, jak oznaczyć funkcje jako przestarzałe i jak określić komunikat, który będzie wyświetlany w czasie kompilacji, gdy jest używana przestarzała funkcja.
// 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
}
W poniższym przykładzie pokazano, jak oznaczyć klasy jako przestarzałe oraz jak określić komunikat, który będzie wyświetlany w czasie kompilacji, gdy jest używana przestarzała klasa.
// 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
}
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla