Устаревший атрибут в C ++ 14 с примерами
В этой статье мы обсудим устаревший атрибут в C ++ 14. Устарело означает, что использование имени или объекта, объявленного с этим атрибутом, разрешено, но по какой-то причине не рекомендуется. Компилятор выдает предупреждения, и если строковые литералы указаны, они включаются в предупреждения.
Программа 1:
Например, рассмотрим следующую программу умножения двух чисел:
C ++ 14
// C++14 program to multiply two // numbers #include <iostream> using namespace std; // Function that returns the // multiplication of two numbers // a and b int multiply( int a, int b) { return a * b; } // Driver Code int main() { int a = 2, b = 4; // Function Call cout << multiply(a, b); return 0; } |
8
Объяснение: В приведенной выше программе операция умножения была выполнена с помощью простой функции с именем multiply.
Теперь, чтобы сообщить программистам, что этот подход устарел, воспользуйтесь другим подходом, отказавшись от функции, используя следующий синтаксис:
[[deprecated (“Write your message”)]]
Программа 2:
C ++ 14
// C++14 program to illustrate the use // of Deprecated attribute #include <iostream> using namespace std; // Deprecated message [[ deprecated ( "This method is outdated, use any other approach" )]] // Now this function has been deprecated int multiply( int a, int b) { return a * b; } // Driver Code int main() { int a = 2, b = 4; // Function Call cout << multiply(a, b); return 0; } |
Выход:
Списки того, что может быть объявлено устаревшим , следующие:
- Функции
- Класс, структура, союз
- Переменная
- typedef
- Нестатический член данных
- пространство имен
- Перечисление
- Специализация шаблона