【发布时间】:2017-08-18 00:22:30
【问题描述】:
模板类应该有一个返回类型基于模板参数的方法。在这个例子中,我怎样才能让函数返回int(副本)为K=0和int&(参考)为K=1?
template<typename T, int K>
class someclass
{
public:
someclass() : member(3) { }
T giveback() { return member; } // if K=0 should return by T, else return by T&
private:
T member;
};
int main()
{
someclass<int,0> x;
x.giveback();
}
【问题讨论】:
-
注意,我知道我可以进行模板专业化。但是还有其他方法可以实现吗?
-
委托其他为你做专业的事情。
标签: c++ templates c++14 metaprogramming