缺省参数---CPP

180 阅读1分钟

缺省参数是什么

在编写C++代码中,我们常常会写函数,然而很多函数的参数我们传入的时候都是不变的,但是还必须要传入, 或者对于一些其他的情况,我们就会引入参数的默认值,也就是缺省参数。

int  TestFunction(int a, int b=10)
{
	return a + b;
}
int main()
{
	TestFunction(1, 2);//传入1和2
	TestFunction(1);//第二个当成默认值
}

缺省参数的分类

缺省参数分为全缺省和半缺省,全缺省就是全都是默认参数值,半缺省就是没缺完。

全缺省

半缺省

void   TestFunction(int a=1, int b=10,int c=2)//全缺省
{
	cout << a + b + c << endl;
}
void   TestFunctionp(int a , int b = 10, int c = 2)//半缺省
{
	cout << a + b + c << endl;
}
  • 值得注意的是,半缺省可不是缺了一半
  • 还有就是,半缺省参数必须要从右向左依次给出,否则,在调用函数的时候会出现右边的参数没有传入值的情况。
  • 缺省参数不能在函数声明和定义中同时出现,否则,声明和定义中的值不同,编译器就无法确认用哪一个了
  • 缺省的值必须是全局变量,或者是常量
  • C语言不支持缺省参数

缺省参数的意义

如果你写好的函数想多加参数,而且原先调用的函数不用加参数,那么我们利用缺省参数就可以了,可以提高函数的可扩充性。