如何根据某些模板参数影响模板类方法的返回类型?

时间:2017-03-24 22:20:43

标签: c++ templates c++14 metaprogramming

模板类应该有一个返回类型基于模板参数的方法。在此示例中,如何为height: 100%的{​​{1}}和int(参考)返回K=0(副本)函数?

int&

1 个答案:

答案 0 :(得分:6)

你可以这样做:

np.all

如果typename std::conditional<K, T&, T>::type giveback() { return member; } 为0,则类型为K,否则为T

但是,没有“没有模板专业化”这样的事情,因为T&是使用模板专业化实现的。使用std::conditional只会帮助您本地化模板特化,而不必复制整个类的大部分内容。