普通情况下,可以使用函数模板的调用过程推导出其类型参数对应的数据类型(通称隐式实例化),按照C++创始人Bjarne Stroustrup的说法,其一种原因是与类模板等同对待,更重要的原因就是在某些特殊情况下,根本上无法推导出模板形参对应的类型,此时只能显式实例化,具体原因的描述和示例可以参见Bjarne Stroustrup 的著作“The Design and Evolution of C ++”的15.6.2节,中文书名叫:C++语言的设计和演化
类似于类的模版偏特化,
可以定义一个针对特殊数据类型的函数模版(其实现和通用版本的模版函数可以不同)
这样编译调用函数时,会优先调用你的特化版本