重载函数的调用匹配规则
重载函数的调用匹配,依次按照下列规则来判断:
精确匹配:参数匹配而不做转换,或者只是做微不足道的转换,如数组名到指针、函数名到指向函数的指针、T到const T;
提升匹配:即整数提升(如bool到int、char到int、short到int),float到double;
使用标准转换匹配:如int到double、double到int、double到long double、Derived*到Base*、T*到void*、int到unsigned int;
使用用户自定义匹配;
使用省略号匹配:类似于printf中省略号参数。
假如运行环境int类型4bytes,short类型2bytes,long类型8bytes,存在代码:unsigned short x = 65530;int a = myfunc( x, 20.0 ); 会优先匹配以下哪一个重载函数? A. int myfunc( double, double ) B. int myfunc( short, double ) C. double myfunc( int, float ) D. double myfunc( int, double)
答案为D!
转载于:https://www.cnblogs.com/bonelee/p/5951718.html
重载函数的调用匹配规则相关推荐
- C++ 函数匹配 重载函数的调用规则
学习<C++ Primer>一书中,函数匹配这一节内容信息较多,现截取重点内容记录于此.便于你对本文内容更好的理解,你需对类型提升.算术类型转换以及顶层cosnt,底层const有一定的了 ...
- c语言sqrt多个重载函数,“sqrt”: 对重载函数的调用不明确——解决方法
#include #include using namespace std; int main(){ int i,j,k,flag; i = 2; while(i <= 100){ flag = ...
- 确定重载函数被调用的依据
这个标题或许还可以叫做,怎么样判断两个函数是否是重载函数. 由于今天做了道面试题,题目是:系统在调用重载函数时,能作为确定那个重载函数被调用的依据是() 我选的是A函数返回类型,正确答案是B参数个数. ...
- C++ 泛型编程(一):模板基础:函数模板,类模板,模板原理,模板匹配规则
类模板 函数模板 泛型编程 泛型编程,泛型即是指具有在多种数据类型上皆可操作的含义,其实就是能够帮助开发者编写完全一般化并可重复使用的算法,同样的工作不需要做多次,同样的算法针对不同的类型也不应该写多 ...
- C++ 泛型编程(一):模板基础:函数模板、类模板、模板推演成函数的机制、模板实例化、模板匹配规则
文章目录 泛型编程 函数模板 函数模板实例化 隐式实例化 显式实例化 函数模板的匹配规则 类模板 类模板的实例化 泛型编程 泛型编程旨在削减重复工作,如: 将一个函数多次重载不如将他写成泛型. voi ...
- 深入理解C++重载函数
深入理解C++重载函数 1.定义:C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数.类型或者顺序)必须不同,即函数的参数列表不同,也就是说用同一个运算符完成不 ...
- C++入门之命名空间、缺省函数、重载函数及引用
目录 一.命名空间 1.概念 (1)流插入运算符和流提取运算符 2.命名空间出现的意义 (1)c语言的命名缺陷 (2)如何解决命名冲突 3.命名空间的使用 (1)不展开使用 (2)完全展开使用 (3) ...
- 重载函数与虚函数的区别
重载函数与虚函数的区别: 重载函数只要求函数有相同的函数名,并且重载函数是在相同作用域中定义的名字相同的不同函数.而虚函数不仅要求函数名相同,而且要求函数的签名.返回类型也相同.也就是说函数原型必须完 ...
- 彻底理清重载函数匹配
前言 前面我们讲到了<什么是函数重载?>,有了函数重载之后,就需要确定某次调用需要选用哪个函数.这个过程可以称之为函数匹配或者重载确定.大多数情况下,我们都很容易能够确定某次调用需要选用哪 ...
最新文章
- css垂直居中问题~
- python怎么读文件夹下的文件夹-如何使用Python读取文件夹中的文件数量?
- 算法杂货铺——k均值聚类(K-means)
- LightOJ - 1222 Gift Packing(最大费用最大流/KM)
- Asp.Net Core Identity 骚断腿的究极魔改实体类
- css中hover的妙用!!
- [雪峰磁针石博客]数据仓库快速入门教程1简介
- linux boot 空间不足,解决Ubuntu 提示boot分区空间不足办法
- C#热血传奇游戏服务端再次开源更新
- 通达信版弘历软件指标_弘历趋势王版指标公式详解 通达信趋势弘历
- HTML5基础网页设计(加代码CSS)
- 插入排序、冒泡排序、归并排序、快速排序
- [Groovy]Groovy with Ant Task
- c语言爬楼梯不用递归,[leetcode]爬楼梯的递归和非递归方法
- 远程如何重装linux系统,独立服务器远程重装Linux系统
- 迅为3A5000_7A2000开发板龙芯国产处理器LoongArch架构
- 物联网板开发入门指南
- 死锁产生和避免及计算题
- 人机博弈 围棋程序GNU GO 所有版本源码及使用方法
- uni-app 拍照或从相册上传图片
热门文章
- android开发toast通知,Toast Notifications
- java 自动封装_自动补全的java封装
- 使用商业模式的九大模块去分析京东的商业模式_商业模式—筑基篇(1)
- php ci laravel,PHP 框架 ci 和 laravel 的问题
- java 数组map_java中 数组 list map之间的互转
- thinkphp5调用shell脚本_thinkphp5.x全版本任意代码执行getshell
- debian下为python2.7 安装MySQLdb扩展(mariadb)
- laravel5.5的定时任务详解(demo)
- React Native 环境搭建步骤
- 【大牛系列教学】java商城推荐算法