一.什么是缺省参数
缺省参数是声明或者定义函数时为函数的参数指定一个缺省值。在调用这个函数时,如果没有指定参数则采用该形参的缺省值,否则使用指定参数。
以上是百度百科的答案
用通俗的话来说说,就是在声明或者定义函数时,给参数赋值,调用函数时,如果没有给对应参数值,则使用之前定义的参数值。
二. 什么是全缺省,半缺省
缺省参数分为全缺省和半缺省,顾名思义,一个是给了所有参数缺省值,一个是给部分参数缺省值。
在使用半缺省参数时需要注意,缺省参数需要从右给到左,
#include<iostream>
using namespace std;
void func1(int a = 1, int b = 2, int c = 3);//全缺省
void func2(int a, int b, int c = 3);//半缺省
int main()
{
func1();
func1(2);
func1(1, 1, 1);
func2(2, 3);
return 0;
}
void func1(int a , int b , int c )
{
cout << a + b + c << endl;
}
void func2(int a, int b, int c)
{
cout << a + b + c << endl;
}
三. 缺省参数的应用场景
你是否认为缺省参数是个鸡肋,但是在一个工程中,如果某个函数需要大量的调用,而在绝大部分情况下,这个函数使用的参数值相同的,如此一来,缺省参数的应用,可以有效的提高编程效率。