【C++基础】默认参数

在C++中,函数可以有默认的参数。函数的默认参数值,即在定义参数的时候同时给它一个初始值。在函数调用的时候,我们可以省略含有默认参数值的参数。也就是说,如果用户指定了参数值,就使用用户指定的参数值,否则就使用默认的参数值

#include <stdio.h>

void debug(const char *ptr = "------------")//参数的值也可以是表达式
{
	printf("%s \n", ptr);
}
int main()
{
	debug();
	debug("hello");
}

当我们调试追踪代码时,可以实现这样的一个debug函数,可以输出默认的调试信息,也可以输出特定的调试信息。

注意事项:

  1. 如果某个参数是默认参数,那么它后面的参数必须都是默认参数;
  2. 默认参数可以放在函数声明或者定义中,但只能放在二者之一;
  3. 函数重载时谨慎使用默认参数值;

因此,形如:void func(int a; int b=2; int c);这样的操作是不允许的,默认参数的连续性可以保证编译器正确的匹配参数。

同时,函数重载时如果如用默认的参数值容易造成混淆,比如:

#include <stdio.h>

class Test
{
	public:
		int func(int a)
		{
			return a;
		}
		int func(int a, int b = 1)
		{
			return a+b;
		}
};

int main()
{
	Test test;
	int result = test.fun(1);
	return 0;
}

这种情况下,编译器就不知道到底选择哪个函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cifeng79

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值