2
因此至约常量/非const与三元运算前一个问题,是以下test
函数确定关于到C++ 11标准:内用constexpr非const变量?
template<bool UseConst> class MyClass
{
public:
constexpr bool test()
{
return (UseConst) ? (_constvar) : (_var);
}
protected:
int _var;
static const int _constvar;
}
整个问题是,_constvar
是常量,并且_var
是非常量。我会通过同样的功能来访问这些数据2取决于模板参数,我想有一个编译时功能,当我使用常量。
执行test()
功能满足我的要求吗?
为什么就不能专注于'UseConst'从那里走? – Xeo
专营什么?类或函数?对于这个类,我有一大组函数,并且通过像这里这样的单个函数来获取const或non-const会更加简单和简洁。为了专门化这个功能,我没有看到怎么做...... – Vincent
@Vincent:类模板里面的非模板成员函数实际上只是函数模板,并且可以专门化,而不需要专门化整个类。见例如在[这个答案]中的代码(http://stackoverflow.com/a/12598245/636019)。 – ildjarn