前言
c++对函数审升级很大的提高了效率,提供了方便
内敛函数
定义:inline 变量类型 函数名 (形参)
inline void func (void) //必须和函数体的实现写到一块
{
cout<<"hellow world"<<endl;
}
原理: 有一点像宏替换,c++编译器直接将函数体插入到需要调用的地方
他没有普通函数的压栈,跳转,返回,所以效率要高很多
但是 编译器可能会拒绝你的内敛请求,但是现在大多数c++可以通过宏来强制内敛
限制:不能有循环结构,过多的判断,不能对函数进行取地址,函数体不能过大
默认参数
在函数定义的时候,可以为函数设置默认参数,在调用的时候,如果不写参数,他就会去使用默认参数
void func (int a=10,int b=0)
{
cout <<"a="<<a<<b=<<b<<endl;
}
他的参数是由右到左的,就是如果存在几个是默认,几个不是默认的情况,一般都是将默认参数放在最右边,不然编译器会无法辨别
占位参数
int func (int a,int b ,int) //虽然他没有什么意义,但是在传参的时候要写满
{
cout<<"a="<<a<<" b="<<b<<endl;
}
意义:是为了兼容c中一些不规范的写法,也为以后函数的扩展留下线索
占位参数和默认参数结合到一起
int func (int a,int b ,int =0)
{
cout<<"a="<<a<<" b="<<b<<endl;
}
/其实意义不大,就是func(1,2),func(1,2,3)都可以传