Отметить класс / метод как устаревший или устаревший в C ++ - PullRequest
3 голосов
/ 07 мая 2009

Есть ли способ пометить методы / классы в C ++ как устаревшие?

В c # вы можете написать:

[Obsolete("You shouldn't use this method anymore.")]
void foo() {}

Я использую инструментарий GNU / Eclipse CDT, если это имеет значение.

Ответы [ 4 ]

7 голосов
/ 08 мая 2009

Самый простой способ с #define DEPRECATED. В GCC он расширяется до __attribute__((deprecated)), в Visual C ++ он расширяется до __declspec(deprecated), а в компиляторах, у которых нет чего-либо silimar, он расширяется до нуля.

7 голосов
/ 07 мая 2009

Только с использованием прагм, зависящих от компилятора: посмотрите документацию

 int old_fn () __attribute__ ((deprecated));
1 голос
/ 22 мая 2019

Стандарт c ++ 17 теперь предоставляет эту функцию: https://en.cppreference.com/w/cpp/language/attributes/deprecated

[[deprecated]] void F();
[[deprecated("reason")]] void G();
class [[deprecated]] H { /*...*/ };
0 голосов
/ 07 мая 2009

Я не знаю, какую версию C ++ вы используете, но Microsoft Visual C ++ имеет устаревшую прагму . Возможно, в вашей версии есть что-то похожее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...