函数模板和普通函数在一起的调用规则
来源:互联网 发布:网络管理工具 编辑:程序博客网 时间:2024/05/22 05:27
函数模板和普通函数在一起的调用规则:
1.C++编译器优先考虑普通函数;
2.如果函数模板可以产生一个更好的匹配,就选择模板,反之,则选择普通函数;
3.可以通过空模板实参列表的语法限定编译器只能通过模板匹配。
template<class T>
void templatefun(T a, T b)//模板函数
{
cout << "templatefun" << endl;
}
void templatefun(int a, int b)//普通函数
{
cout << "commonfun" << endl;
}
void test()
{
int a = 4;
char ch = 'a';
templatefun(a, a);//输出commonfun,C++编译器优先考虑普通函数
templatefun<>(a, a);//空模板实参列表语法,限定编译器只能通过模板匹配,输出templatefun
templatefun(a, ch);//输出commonfun,哪个函数匹配得更好,则选用哪个函数
}
0 0
- 函数模板和普通函数在一起的调用规则
- 函数模板和普通函数在一起调用规则研究
- 函数模板和函数重载在一起(调用规则研究)_传智扫地僧
- C++ 模板函数和普通函数匹配规则
- 函数模板和普通函数的抉择
- 类模板中的函数模板的定义和调用(不是模板类中的普通成员函数)
- 【scala 函数定义和调用】Scala的函数调用:普通函数、匿名函数、柯里化函数
- C++ 普通函数和虚函数调用的区别
- x86 和 arm 的函数调用规则
- 函数模板与普通函数的区别
- 虚函数和普通函数调用
- 模板函数原型声明和定义实现必须放在一起
- linux系统调用和普通函数调用
- c++类的模板成员函数申明和实现必须放在一起
- 类中虚函数、普通成员函数的调用
- 模板,函数对象,泛型结合在一起的实例代码
- 函数模板的调用
- golang的闭包和普通函数调用区别
- 基础动态规划
- 不是人人都懂的学习要点
- Linux rm:删除文件时,排除特定文件
- Win 8或以上系统下的 MySQL最新版5.7.17(64bit ZIP绿色版)安装部署教程
- “java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Timestamp”
- 函数模板和普通函数在一起的调用规则
- Java空指针异常
- recyclerview点击事件以及toolbar使用
- IOS正则判断手机号码,电话号码函数--(可用)
- async的用法
- JAVA IO流简单读写文件
- Max Sum hdu 1003 dp 入门
- bash shell脚本执行的几种方法
- [leetcode]: 168. Excel Sheet Column Title