次のコードを考えてみましょう。このコードでテンプレートパラメータを使用してデータメンバーを追加/削除しますか?
template<bool AddMembers> class MyClass
{
public:
void myFunction();
template<class = typename std::enable_if<AddMembers>::type> void addedFunction();
protected:
double myVariable;
/* SOMETHING */ addedVariable;
};
を、テンプレートパラメータAddMembers
は、それがtrue
だときに、クラスに機能を追加することができます。これを行うには、std::enable_if
を使用します。
私の質問は次のとおりです:データメンバ変数の同じ可能(おそらくトリック)ですか? ?(MyClass<false>
1つのデータメンバ(myVariable
)を有するであろうとMyClass<true>
2人のデータメンバー(myVariable
とaddedVariable
)を有するよう
+++++完璧!条件付きテンプレートパラメータを持つMixin – Viet