を取るために、それは追加のテンプレートパラメータを取るために、テンプレートクラスを特化することは可能ですか?例えばCは、追加のテンプレートパラメータ
:
template <typename T>
struct X {
void foo() { cerr << "Generic" << endl;}
};
template <>
template <bool b>
struct X<int> {
void foo() { cerr << "Specialization" << endl;}
};
Iは、G ++で上記の作業を行うことができませんでしたが、多分、この作業を行いますいくつかのトリックがあります。
編集:私は私が持っている場合は、それが唯一X<int>.
の機能ですので、私は、ユーザーが任意の値を指定する必要はありませんできるようにすることができます方法はあり、基本テンプレートXにテンプレート<bool b>
を移動する必要はありませんそれのための?私は本当に アプローチのように、このルートを下がらないだろうと。
を使用すると、テンプレートの部分特殊化のことを聞いたことがありますか? –
「私がしている場合は*、私は、ユーザーがそれのために任意の値を指定する必要はありませんできるようにすることができます方法はあり*?」はい - デフォルトのテンプレートパラメータ。例えば。 'template'となります。 –
ildjarn
@ildjarnは言っていますが、ほとんどの場合、bool以外のいくつかのタイプを使用する方が良いことに注意してください。 'mytempl' myempl '' '対mytempl '対mytempl ''よりも通常より有意義です。 –