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