Устаревший атрибут в C ++ 14 с примерами

Опубликовано: 30 Ноября, 2021

В этой статье мы обсудим устаревший атрибут в 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
  • Нестатический член данных
  • пространство имен
  • Перечисление
  • Специализация шаблона
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .