Deprecated attribute


概要

以前よりC++の複数のコンパイラでは、独自機能として非推奨である事を記述する機能が提供されていた。 しかし、コンパイラの独自仕様で定義されたものであり、コンパイラごとに構文が異なっていた。 C++11にて、attributeが追加されたことで、 C++14で非推奨を明示する属性(attribute)が定義され、統一化された。

attribute listに対して、以下のどちらかを用いて指定する。

  • deprecated
  • deprecated("警告メッセージ")

この非推奨属性は、以下に示す宣言に対して指定可能である。

指定可能な宣言 指定例
クラス class [[deprecated]] X;
typedef typedef int [[deprecated]] X;
変数 int X [[deprecated]];
非staticメンバ変数 class X { int x [[deprecated]]; };
関数/メンバ関数 [[deprecated]] void func();
enum enum [[deprecated]] E;
enum class [[deprecated]] E;
テンプレート特殊化 template<> class [[deprecated]] X<int> {}

また、deprecated指定無しで宣言のみされた名前は後でdeprecated付きで再宣言可能である。

void func();

[[deprecated]]
void func();        //OK

void func() {
}

int main() {
    return 0;
}

results matching ""

    No results matching ""