2015-01-09

[[deprecated]] はテンプレート名には使えない

[[deprecated]]属性はテンプレートの特殊化に対して指定できる。テンプレート名に対しては指定できない。

// テンプレートAの特殊化をdeprecated扱い
template < typename T >
class [[deprecated]] A { } ;

template < template < typename > class >
class B { } ;

// deprecated
A<int> a ; 

// 規格上何もなし
B<A> b ; 

どうも現在主流のコンパイラー実装上の都合があるそうだ。

ドワンゴ広告

最近ネタ切れになってきた。ドワンゴでは正月に一気に有給を取得する社員が多いらしく、まだ空席が目立つ。

ドワンゴは本物のC++プログラマーを募集しています。

採用情報|株式会社ドワンゴ

CC BY-ND 4.0: Creative Commons — Attribution-NoDerivatives 4.0 International — CC BY-ND 4.0

1 comment:

  1. 使えるのが「特殊化の宣言(特殊化でない)」って以前仰っていませんでしたっけ?
    そこはテンプレートの宣言にも書けるという解釈になったのですか?

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.