函数模板和普通函数在一起调用规则研究
来源:互联网 发布:java手动线程池使用 编辑:程序博客网 时间:2024/05/01 14:23
/*函数模板不允许自动类型转化普通函数能够进行自动类型转换*//* 1.函数模板可以像普通函数一样被重载2.c++编译器优先考虑普通函数3. 如果函数模板可以产生一个更好的匹配,那么选择函数模板4.可以通过空模板实参列表的语法限定编译器智能选择模板匹配*/#include <iostream>using namespace std;int Max(int a ,int b){cout<<"int Max(int a ,int b)"<<endl;return a>b ? a : b;}template<typename T>T Max( T a,T b){cout<<"T Max(T a ,T b)"<<endl;return a>b ? a : b;}template<typename T>T Max( T a,T b,T c){cout<<"T Max(T a ,T b,T c)"<<endl;return Max (Max(a,b),c);}int main(){int a = 1;int b = 2;cout<<Max(a,b)<<endl;//当函数模板和普通函数都符合调用时,优先选择普通函数cout<<Max<>(a,b)<<endl;//若显示使用函数模板,则使用<>类型列表cout<<Max(3.0,4.0)<<endl;//如果函数模板可以产生更好的匹配 使用函数模板cout<<Max(3.0,4.0,5.0)<<endl;//重载cout<<Max('a',100)<<endl;//调用普通函数 因为普通函数可以进行隐式转换system("pause");return 0;}
0 0
- 函数模板和普通函数在一起调用规则研究
- 函数模板和普通函数在一起的调用规则
- 函数模板和函数重载在一起(调用规则研究)_传智扫地僧
- C++ 模板函数和普通函数匹配规则
- 构造函数调用规则研究
- 函数模板和普通函数的抉择
- 虚函数和普通函数调用
- 模板函数原型声明和定义实现必须放在一起
- 类模板中的函数模板的定义和调用(不是模板类中的普通成员函数)
- linux系统调用和普通函数调用
- javascript函数作为普通函数和构造函数调用
- 【scala 函数定义和调用】Scala的函数调用:普通函数、匿名函数、柯里化函数
- 函数重载和函数指针在一起
- 函数重载和函数指针在一起
- STL中调用函数对象和普通函数差异
- C++ 普通函数和虚函数调用的区别
- 函数名修饰和调用规则2
- 函数名修饰和调用规则
- ArrayAdapter中的getView
- ubuntu常用配置命令
- zookeeper windows 入门安装和测试
- 微信应用号开发知识贮备之altjs的Action和Store
- hdu 2604(矩阵快速幂)
- 函数模板和普通函数在一起调用规则研究
- C语言:判断三角形的类型
- java.lang.Object源码浅析
- 顺序表应用5:有序顺序表归并
- 剑指Offer——只出现一次的数字
- linux磁盘分区
- ALAssetsLibrary的理解问题
- fpm执行流程
- 七层网络模型_前四层的知识