含有可变参数的函数+内联函数+contexpr函数+带默认参数值的函数

引用头文件

#include<initializer_list>

用其保存可变参数,在函数中使用initializer_list

内联函数 inline

  • 编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销。

    • 注意:

      内联函数体内不能有循环语句和switch语句;

      内联函数的定义必须出现在内联函数第一次被调用之前;

      对内联函数不能进行异常接口声明。

constexpr函数语法规定

  • constexpr修饰的函数在其所有参数都是constexpr时,一定返回constexpr;

  • 函数体中必须有且仅有一条return语句。

带默认参数值的函数

  • 默认参数值

    • 可以预先设置默认的参数值,调用时如给出实参,则采用实参值,否则采用预先设置的默认参数值。
int add(int x = 5,int y = 6) {

     return x + y;

}

int main() {

     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);//错误

猜你喜欢

转载自blog.csdn.net/d401692632/article/details/80990912