函数参数默认值
有参数默认值的参数必须在参数表的最右端:
另外声明时候可以写上默认值,但是写函数时不需要写:
函数重载:在相同作用域下,用同一函数名定义多个函数,参数个数和参数类型不同。
getMax(int x, int y)
getMax(double x,double y)
编译器是如何识别重载函数的呢?
在编译好之后形成一个函数名称加参数的一个新的形式:getMax_int_int, getMax_double_double
重载能带来什么好处呢?
比如求最大值,可以求任意参数个数的最大值,也可以求数组中最大值。
内联函数:
内联函数与普通函数定义没啥区别,但是调用有很大区别:
内联函数直接省去2和4步骤
内联函数关键字:inline
为什么不所用函数都用内联函数?
内联编译是建议性的,有编译器决定的
逻辑简单,调用频繁的建议使用内联函数
递归函数无法调用使用内联方式