函数
- 函数参数默认值
- 函数重载
- 内联函数
函数参数默认值
- 有默认参数值得参数必须在参数表的最右端
void fun(int a,int b = 5, int c = 10);//正确
void fun(int a,int b = 5, int c);//错误
- 无实参则用默认值,否则实参覆盖默认值
void fun(int a, int b = 5, int c = 10);
void fun(int a, int b, int c)
{
count <<a<<b<<c<<endl;
}
int main()
{
fun(20);// 20 5 10
fun(20, 30);//20 30 10
fun(20, 30, 40);//20 30 40
}
函数重载
在相同做作用域内
用同一函数名定义的多个函数
参数个数或者参数类型不同
void getMax(int a, int b, int c);
//getMax_int_int_int
void getMax(double a, double b);
//getMax_double_double
在使用和调用过程中,编译好之后会形成两个函数,根据传入的实参个数和类型调用对应的函数。
内联函数
普通函数 | 内联函数 |
---|---|
执行时调用 | 编译时将函数体代码和实参代替函数调用语句 |
- 内联函数关键字:inline
内联函数是建议性的,由编译器决定
逻辑简单,调用频繁的函数建议使用内联函数
递归调用无法使用内联函数