内联函数
为了减少函数调用的开销,引入内联函数机制。编译器处理对内联函数的调用语句时,是将整个函数的代码插入到调用语句出,而不会产生调用函数的语句。
在函数定义前面加“inline”关键字,即可定义内联函数
inline int Max(int a,int b)
{
if(a>b)
return a;
return b;
}
int k,n1=5,n2=9;
k=Max(n1,n2);//在此处并不会进行函数调用,而是直接将inline函数体搬过来用,即if(n1>n2)。。。。
函数重载
一个或多个函数,名字相同,然而参数个数或者参数类型不相同。这样的函数叫函数重载。
注意:函数名、参数个数、参数类型都相同,只有返回值不同不叫重载!!
-----一下三个函数为重载关系---------
int Max(double n1,double n2){}
int Max(int n1,int n2){}
int Max(int n1,int n2,int n3){}
编译器根据调用语句中的实参个数和类型判断应该调用哪个
C++中,定义函数的时候可以让最右边的连续若干个参数有缺省值,那么调用函数的时候,若相应位置不写参数,参数就是缺省值。
void func(int x1,int x2=3;int x3=8){}
func(10);//等效于func(10,3,8);
func(10,4);//等效于func(10,4,8);
func(10, ,8);//不行,只能最右边的连续若干个参数缺省