C++14 - [[deprecated]]

c++
c14

#1

Deprecated olan neredeyse herşeyin bildirimi için C++14 standartlarında dile eklenen özelliktir.

#include <iostream>

using namespace std;

[[deprecated]] int f();

class [[deprecated]] my_class {
public:
    [[deprecated]] int member;
};

[[deprecated]] int i;

enum [[deprecated]] colors{
    RED, BLUE, BLACK
};


[[deprecated]]
typedef int type;

template <typename T> class templ;

template <>
class [[deprecated]] templ<int> {};

[[deprecated("g() is thread-unsafe. Use h() instead")]]
void g( int& x );

void h( int& x );

int main()
{

    int a = f(); // warning: 'f' is deprecated
    g(a); // warning: 'g' is deprecated: g() is thread-unsafe. Use h() instead
    my_class my;

    return 0;
}

Bu şekilde bildirimi yapılmış fonksiyonların, sınıfların, değişkenleri v.b kullanımı derleyici tarafından uyarı mesajları alınmasına sebep olur.