inline和默认形参

声明时使用关键字 inline。
编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销。
注意:
内联函数体内不能有循环语句和switch语句。
内联函数的声明必须出现在内联函数第一次被调用之前。
对内联函数不能进行异常接口声明

函数在声明时可以预先给出默认的形参值,调用时如给出实参,则采用实参值,否则采用预先给出的默认形参值。
例如:

int add(int x=5,int y=6)
{    return  x+y;
}

void main(void)
{    add(10,20); //10+20
      add(10);  //10+6
      add();  //5+6
}

默认形参值必须从右向左顺序声明,并且在默认形参值的右面不能有非默认形参值的参数。因为调用时实参取代形参是从左向右的顺序。
例:
int add(int x,int y=5,int z=6); //正确
int add(int x=1,int y=5,int z); //错误
int add(int x=1,int y,int z=6); //错误

原文地址:https://www.cnblogs.com/hxsyl/p/2663937.html