函数重载的类似模​​板的声明

时间:2012-07-01 01:15:31

标签: c++ overloading

我可以在头文件的开头创建泛型函数声明吗?

我可以做template<class t> t func(t);然后将它专门化,但是 Template Specialization VS Function Overloading
说不要这样做。

1 个答案:

答案 0 :(得分:1)

首先,您可以确定声明模板函数,然后定义它,和/或定义特化。但...

函数特化必须是完整特化,也就是说,您不能部分专门化模板函数。现在,虽然您可以实际专门化功能模板,但提供过载可能具有优势(和缺点),但在大多数情况下,它将是更好的选择。

您可能需要阅读此内容:http://www.gotw.ca/publications/mill17.htm