c++函数的缺省参数

定义

c++中,定义函数的时候可以让最右边的连续若干个参数有缺省值,在调用函数的时候,如果不写相应位置的参数,则调用的参数就为缺省值。

例如:

void fun(int a, int b = 1, int c = 2) {
	cout << "a=" << a << "\tb=" << b << "\tc=" << c << endl;
}

在调用时,如果参数bc的参数没有给出,则默认为缺省值。

函数缺省参数的作用在于提高程序的可扩充性。比如某个以及写好的函数需要添加新的参数,而原先调用函数的的那些语句未必需要新增加的参数,为了避免对原来所有调用该函数的地方进行修改,就可以使用函数缺省参数了。

全缺省

顾名思义,全缺省就是参数的所有值都为缺省参数,如下代码所示:

#include<iostream>
using namespace std;
void fun(int a=1, int b = 2, int c = 3) {
	cout << "a=" << a << "\tb=" << b << "\tc=" << c << endl;
}
int main() {
	fun();
    fun(4, 5, 6);
	return 0;
}

执行该程序,输出:

a=1     b=2     c=3
a=4     b=5     c=6

需要注意的是,我们在调用函数时,只能缺省最右边的若干个参数,形如:fun(4, , 6);这种调用是错误的调用方法。

半缺省

半缺省指的是参数中有一部分为缺省参数,有一部分为非缺省参数。

值得注意的是,缺省参数只能为最右边的若干个

例如:

#include<iostream>
using namespace std;
void fun(int a, int b = 2, int c = 3) {
	cout << "a=" << a << "\tb=" << b << "\tc=" << c << endl;
}
int main() {
	fun(1);
	fun(1, 4);
	fun(4, 5, 6);
	return 0;
}

执行上面程序,输出如下:

a=1     b=2     c=3
a=1     b=4     c=3
a=4     b=5     c=6

形如:void fun(int a=1, int b, int c = 3) { }这样的语句是错误的用法。

形如:fun(1, ,3)这种调用也是错误的。

总之记住,缺省参数只能为最右边的若干个参数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值