次のコードを検討してください。
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?