Swap()重载函数,这样不但重复劳动,容易出错,而且还带来很大的维护和调试工作量。...答:
其实编译器对函数模板进行了两次编译
第一次编译时,首先去检查函数模板本身有没有语法错误
第二次编译时,会去找调用函数模板的代码,然后通过代码的真正参数,来生成真正的函数。...所以函数模板,其实只是一个模具,当我们调用它时,编译器就会给我们生成真正的函数....函数模板可以像普通函数一样被重载
函数模板不接受隐式转换
当有函数模板,以及普通重载函数时,编译器会优先考虑普通函数
如果普通函数的参数无法匹配,编译器会尝试进行隐式转换,若转换成功,便调用普通函数...若转换失败,编译器便调用函数模板
可以通过空模板实参列表来限定编译器只匹配函数模板
?