是否有理由更喜欢具有常规函数重载特化的函数模板声明?

时间:2017-03-30 08:19:14

标签: c++ templates template-specialization overloading

有没有

的情况
template<typename T>
return_type f(T t);

template<>
return_type f<type1>(type1 t)
{ /* ... */ }

template<>
return_type f<type2>(type2 t)
{ /* ... */ }

return_type f(type1 t)
{ /* ... */ }

return_type f(type2 t)
{ /* ... */ }

return_typetype1type2f的上下文中是普通的类型名称。

我会说前者是不必要的模板使用,但至少在isocpp.org上,这用作一个例子,即使专用模板或重载函数给出相同的工作结果。所以我想知道,我错过了什么吗?

0 个答案:

没有答案