函数介绍(内联函数和函数重载)

匿名 (未验证) 提交于 2019-12-02 23:47:01

1.内联函数

2.函数重载

编译器调用函数重载时的原则:

①将所有同名函数作为候选者

②尝试查找可行的候选函数

--通过函数名精确查找;

#include <iostream>  int func(int a, int b) {      return a + b; }  int gunc(int a, int b) {      return a + b; }   int main() {     func(1,2);            //根据函数名精确查找     return 0; }

--通过默认参数能够匹配实参;

#include <iostream>  int func(int a, int b, int c = 0) {      return a + b; }  int func(int a, int b) {      return a + b; }   int main() {     func(1,2);            //前两个参数匹配后,编译器还会尝试补充一个默认参数看是否有匹配     return 0;             //项,如本例匹配到存在函数有默认参数c,则编译不通过,二次定义 }  

--通过默认类型能够转换实参;

#include <iostream>  int func(int a, int b, int c) {      return a + b; }  int func(int a, int b) {      return a + b; }   int main() {     func('a',2);            //编译器匹配无字符类型参数后,会尝试将字符类型转换为int型匹配     return 0;              //其余的函数;         }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!