函数模版与普通函数的区别以及调用规则

函数模板与普通函数的区别以及调用规

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

发布了38 篇原创文章 · 获赞 13 · 访问量 4320

猜你喜欢

转载自blog.csdn.net/YanWenCheng_/article/details/104012987