缺省参数是什么
在编写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语言不支持缺省参数
缺省参数的意义
如果你写好的函数想多加参数,而且原先调用的函数不用加参数,那么我们利用缺省参数就可以了,可以提高函数的可扩充性。