考虑以下代码:
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)?