我知道使用函数模板是为了使函数具有可移植性,以便它们可以与任何数据类型一起使用。
如果我们对特定数据类型有更有效的实现,那么模板的显式专业化也会完成。
但是,除了显式特化,我们也可以只编写一个可以从main
. 这将为我们节省一些处理时间,因为编译器会比显式专用模板函数更快地定位非模板函数,这反过来会在效率方面更好。
那么,当我们可以选择调用非模板函数时,为什么还要使用显式特化呢?
如果我错了,请纠正我!
编辑1:
我的教授告诉我,每当我们制作函数模板并从中调用函数时main
,编译器首先会查找模板化函数,如果无法找到该函数,则它会依次搜索函数模板创建一个模板函数,然后调用它。