函数模板与普通函数的区别以及调用规
区别:普通函数参数可以隐式类型转化,模板不可以;
调用规则:(1)C++编译器优先考虑普通函数;
(2)可以通过空模板实参列表(<>)限定只能通过模板匹配;
(3)函数模板可以像普通函数那样被重载;
(4)如果模板可以产生一个更好的匹配,那么优先选择模板;
模板的局限性及解决方案:
模板不能解决所有数据类型,例如对象之间的操作。
解决方案:具体化模板;template<>bool Sort(Person &a);
类模板与函数模板的区别:
(1)类模板可以有默认类型,函数模板不行;
(2)类模板不能自动类型推导,函数模板可以;(类模板需要显示类型调用)