type traits用法 针对整数类型的弹性重载

末鹿安然 提交于 2020-01-22 09:19:30

对于同样的函数,如果要区别于整数类型提供重载,将各种类型的参数的重载函数都重载一遍不太现实,可以采用调用type traits的方法,实现重载

例如:

template
void foo_iml(T val,true_type);

template
void foo_iml(T val,false_type);

template
void foo(T val)
{
foo_impl(val,std::is_integral());
}
通过这种方式,所有非整形的情况都会匹配第二模板。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!