1 内联函数
目的:减少函数调用的开销
方法:将整个函数的代码插入到调用语句处,不会产生调用函数语句。
定义:在函数定义前面加inline关键字
eg:
inline int Max(int a, int b)
{
if(a>b) return a;
return b;
}
2 函数重载
定义:名字相同,参数个数或者参数类型不同
例子:
int Max(double f1, double f2, double f3){}
int Max(int n1, int n2){}
int Max(int n1, int n2, int n3){}
Max(3.5, 3.2); // 调用1
Max(2, 4); // 调用2
Max(2, 3, 4); // 调用3
Max(2, 3.4); // 错误,二义性
意义:函数重载使得函数命名变得简单
调用:根据调用语句中的实参的个数和类型判断应调用哪个函数
注意:**名字相同,参数相同,但是返回值不同,不叫重载,叫函数重复定义,会产生错误**。
3 函数的缺省参数
定义:定义函数时候,让最右边的连续若干个参数有缺省值,调用函数时候,相应位置不写参数,参数就是缺省值。
例子:void func(int x1, int x2 = 2, int x3 = 3){}
func(10); // 等效 func(10, 2, 3);
func(10, 8); // 等效func(10, 8, 3);
**func(10, , 8); // 不行,只能最右边的连续若干个参数缺省**
意义:在于提高程序的可扩充性