[[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
使えるのが「特殊化の宣言(特殊化でない)」って以前仰っていませんでしたっけ?
ReplyDeleteそこはテンプレートの宣言にも書けるという解釈になったのですか?