您的位置:首页 > 编程语言 > C语言/C++

C++基础3:函数的重载

2017-03-01 23:50 239 查看
1、在同一作用域,函数名相同,参数列表不同的函数构成重载关系

参数列表不同:

个数

顺序

类型

2、函数重载的原理

C函数在进行编译时,编译器只考虑函数的名字

C++函数在编译时,编译器不但要考虑函数名,还会考虑参数列表

3、函数的哑元

一个函数的参数,只有类型,没有形参名,这个参数就叫哑元

void show(void)

void show(int)

void show(double)

4、函数参数的默认值

int add(int x,int y=12,int z=20) { }

add(1);

add(1,2);

add(1,2,3);

如果一个函数的参数设置了默认值,则调用这个函数,不给这个参数赋值就使用默认值,如果给这个赋值,则替代掉默认值

5、内联函数 inline

inline void add(int x,int y) {  }

内联函数在函数调用的位置,直接把二进制代码复制过去

内联函数在调用时,省了开栈 清理栈的时间开销,提高了执行效率,但是会造成代码体积变大,内存消耗也会提高
内联函数 只是给编译器的一个建议  ,建议成功,则以内联函数的形式调用,见不成功,则以普通函数形式调用

函数体积大           调用少 不适合内联

函数体积小           经常调用 适合内联

递归函数 无法实现内联
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息