1、内联函数
- 存在的背景:函数调用存在开销(调用时候参数压栈,返回地址压栈;返回时从栈取出返回地址,跳转到返回地址。总共需要几条指令的开销)。如果函数指令较少,调用多次,函数调用的开销占比大。
- 内联函数的处理:编译器处理对内联函数的调用语句时,将整个函数代码插入到调用语句处,不会产生函数的语句。
- 使用:在函数定义前面加入inline关键字
- e.g. inline int max(int num1,int num2)
- 弊处:可能会增大可执行程序的大小
2、函数重载
- 定义:一个或多个函数,名字相同,参数个数和类型不同。(如果是名字相同,参数表相同,返回值不同,不是重载是重复定义)
- e.g. int Max(double f1,double f2) int Max(int n1,int n2) int Max(int n1,int n2,int n3)为函数的重载
- 作用:使得函数的命名简单
- 编译过程:编译器通过调用语句的实参个数和类型判断调用的函数
3、函数的缺省参数
- 定义:定义函数的时候可以让最右边的连续若干个参数有缺省值,调用函数的时候,相应位置不传入参数,参数就是缺省(不能是中间的某个参数缺省)
- 目的:提高程序的可扩充性
- 如果已经写好的函数需要添加新的参数,可原来调用该函数的语句未必需要增加参数,使用缺省参数,可以避免对原来调用该函数的修改
posted @
2018-02-17 20:13
fzu_Y
阅读(
224)
评论()
编辑
收藏
举报