一.内联函数
在函数的前面加上关键字inline
inline void display()
{
cout<<"hehe"<<endl;
}
int main()
{
display();
return 0;
}
说明 ①inline必须和函数定义写在一起,如果只是声明的话系统不一定按内联函数处理
②C++编译器直接将内联函数的函数体插入到函数调用处,而不进行压栈出栈
③内联说明只是向编译器的一种请求,编译器可以选择忽略这个请求,则内联函数就会变成普通的函数
④内联函数中不能存在任何形式的循环语句,不能存在过多判断语句,总言之内联函数适合规模较小,流程直接,使用频繁的函数
⑤函数体的执行如果大于压栈,跳转,出栈的开销,则内联函数将毫无意义。
二.函数的默认参数
①C++在函数声明时可以给函数参数提供一个默认值,当调用函数没有给值时,系统就使用默认值代替
②如果有多个参数,则将不带默认参数的参数放在带默认参数的参数前面,否则会报错
三.函数占位参数
在调用的时候必须符合形参的个数,否则编译不通过
四.占位参数和默认参数混合使用
这样的话上面的两个调用方式都可以通过
五.函数的重载
用一个函数名定义多个函数,当函数的参数类型,个数,顺序不同时,函数的意义不同。红色字体是判断函数重载的标准,至少满足其中一个,函数的返回值不是判断函数是否重载的标志。
调用:根据实参的对应的形参来决定调用哪一个函数
六.函数重载和函数指针在一起