c++之函数新特性

1、 函数参数默认值

void fun(int i,int j=5;int k=10);

void fun(int i,int j=5,int k);//错误,没有默认值的参数放前面

实参可以覆盖形参的值

2、函数重载

什么是函数重载?
相同的作用域内,
同一函数名定义的多个函数
参数个数参数类型不同

int getMax(int x,int y,int z)
{
	//to do
}

double getMax(double x,double y)
{
	//to do
}

3、内联函数

普通函数调用经这几个步骤
例如你调用一个fun()
会从主函数跳到fun()里面,执行完fun()后回到主函数

编译时将函数体代码和实参代替函数的调用语句
也就是说用fun()里面的代码换掉主函数的fun()

内联函数关键字:inline

inline int max(int a,int b int c);
int main()
{
	int i=10,j=20,k=30,m;
	m=max(i,j,k);
	cout<<"max="<<m<<endl;
	return 0;
}


//代码展开
int main()
{
	int i=10,j=20,k=30,m;
	a=i;b=j;c=k;
	if(b>a)a=b;
	if(c>a)a=c;
	m=a;
	cout<<"max="<<m<<endl;
	return 0;
}

为什么不所有的函数都使用内联方式呢?
1、内联编译时建议性的,由编译器决定
2、逻辑见到那,调用频繁的函数建议使用内联
3、递归函数无法使用内联方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值