lessons_7:函数参数的默认值

函数参数的默认值

1.默认参数的规则:

  1. 参数的默认值必须从右向左提供
  2. 参数默认值函数调用使用时从左向右匹配
    什么意思呢?具体看下面:
//fun1()函数定义
int fun1(int x, int y, int z = 0)
{
    return x + y + z;
} 
//函数调用
fun1(1 ,2);     // x = 1, y = 2, z = 0
fun1(1, 2, 3);      // x = 1, y = 2, z = 3
/******************************************************/
//fun2()函数定义
int fun2(int x = 0, int y, int z)
{
    return x + y + z;
} 
//函数调用
fun(1, 2);      // 编译错误,参数类型不匹配,x = 1, y = 2, z没有值

以上两个例子对比就会明白。

2.c++提供函数占位参数

意义:更好的兼容C语言中的不规范的写法

int fun(int x, int)
{
    return x;
}
fun(1);     // 正确
fun(1, 2);  // 正确
int fun(int x, int = 0)
{
    return x;
}
fun(1); //正确
fun(2, 3);  //正确

猜你喜欢

转载自blog.csdn.net/feiyanaffection/article/details/79118531