🦄个人主页:修修修也
🎏所属专栏:C++
??操作环境:Visual Studio 2022
目录
缺省参数是声明或定义函数时为函数的参数指定一个一个缺省值。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参。
如下程序,Print函数有一个缺省值为0的参数p:
using std::cout;
using std::endl;
void Print(int p = 0)
{
cout << p << endl;
}
int main()
{
Print(); //没传参时,使用参数的默认值
Print(1); //传参时,使用指定的实参
Print(2);
Print(3);
return 0;
}
程序运行结果:
如下函数Sum,如果函数的所有参数都指定了缺省值,那么该函数就被称为全缺省参数:
void Sum(int a = 1, int b = 1, int c = 2)
{
cout << a + b + c << endl;
}
如下函数Sum_2,如果函数既有未被指定缺省值的参数,又有被指定缺省值的参数,那么该函数就被称为半缺省参数:
void Sum_2(int a , int b = 1, int c = 2)
{
cout << a + b + c << endl;
}
需要注意的是:
- 半缺省参数必须从右往左依次来给出,不能间隔着给。如下四种缺省函数的定义都是不合法的!
void Sum(int a = 1, int b , int c )//不符合从右往左给 { } void Sum(int a = 1, int b = 1, int c )//不符合从右往左给 { } void Sum(int a , int b = 1, int c )//不符合不能间隔 { } void Sum_2(int a = 1, int b , int c = 2)//不符合不能间隔 { }
- 缺省参数不能在函数声明和定义中同时出现。像下面这种声明和定义中都包含缺省参数同样是不合法的:
- 缺省值必须是常量或者全局变量。
希望这篇缺省函数简介能对大家有所帮助,欢迎大佬们留言或私信与我交流.
学海漫浩浩,我亦苦作舟!关注我,大家一起学习,一起进步!
相关文章推荐
【C++】“Hello World!“