3.缺省参数
定义:就是在声明函数的某个参数的时候为之指定一个默认值,在调用该函数的时候如果采用该默认值,你就无须指定该参数。
看个栗子:
int Add1(int a, int b)
{
return a b;
}
int Add2(int a, int b = 1)
{
return a b;
}
int main( )
{
printf("%dn",Add1(1, 2));
printf("%dn", Add2(1));
printf("%dn", Add2(1,2));
system("pause");
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
看看结果
函数在定义时给了默认值,调用时如果传了参数就用实参,如果没传就用默认值。这个作用在后面学习类的构造函数很有用。
当然缺省参数也有一定的规则:调用时你只能从最后一个参数开始进行省略,换句话说,如果你要省略一个参数,你必须省略它后面所有的参数,即:带缺省值的参数必须放在参数表的最后面。 缺省值必须是常量。显然,这限制了缺省参数的数据类型,例如动态数组和界面类型的缺省参数值只能是 nil;至于记录类型,则根本不能用作缺省参数。 缺省参数必须通过值参或常参传递。