引用头文件
#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);//错误