c++ 函数默认值&函数重载&内联函数

函数参数默认值

1.有默认参数值的参数必须在参数表的最右端:

void fun(int i, int j=5, int k=10); //1
void fun(int i, int j=5, int k);    //2

写法1正确,写法2错误。

可在声明时写默认值,定义时不要写,有概率编译不通过。

2.函数调用时,无实参则用默认值,否则实参覆盖默认值。

//函数声明
void fun(int i, int j=5, int k=10);
//函数调用
fun(20,30); 

其中i和j有实参i=20,j=30;k没有实参,则默认值k=10。

 

函数重载

在相同作用域内,用同一函数名定义的多个函数,参数个数和参数类型不同。

函数重载要求不产生歧义,函数名称相同参数可辨。

int fun(int x, int y){
…
}

double fun(double x){
…
}

如上述fun()函数,有 fun_int_int 和 fun_double ,根据调用时参数类型调用对应的函数。

内联函数

1.普通函数和内联函数的区别:

  • 普通函数:先执行main()函数,遇到函数调用语句时执行该函数代码,之后再回到main()函数相应位置往下执行。
  • 内联函数:编译时将函数体代码和实参代替函数调用语句。

2.内联函数关键字:inline

inline fun(int x, int y); //声明或定义时前加inline
  • 内联函数是建议性的,由编译器决定。
  • 逻辑简单,调用频繁的函数建议使用内联。
  • 递归函数无法使用内联函数。
发布了73 篇原创文章 · 获赞 55 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_35756383/article/details/91874619