模版如何静态判断子类型
用模版,但对一些不同类型数据,还是要用完全不同的算法。比如整数和浮点数的舍入误差。
希望模版能在编译时确定根据参数类型,选择完全不同的算法。
示例的代码如下:
template<typename T>
T fn(T t){
#if T is integer type
...
#else if T is float type
...
#endif
}
注意这里 integer, float 是子类型,integer可以是int, unsigned int , short, char... 等
而且希望是编译期就判断的。
这种情况如何写能最简洁高效?