C++中带默认参数的函数定义及使用总结

对于带参数列表的函数,必须从右向左添加默认值
  对于带参数列表的函数,必须从右向左添加默认值,也就是说,要为某个参数设置默认值,则必须为它右边的所有参数提供默认值。范例:

int    fun1(int n, int m = 4, int j = 5);                    //正确
int    fun2(int n, int m = 6, int j);                        //错误
int    fun3(int n = 1, int m = 6, int j = 3);                //正确

默认参数不能在声明和定义中同时出现
错误使用范例:
声明:

void fun4(int n = 10);

定义:

void fun4(int n = 10)
{
    ...;
}

正确使用范例:
声明:

void fun4(int n = 10);

定义:

void fun4(int n)
{
    ...;
}

或者
声明:

void fun4(int n);

定义:

void fun4(int n = 10)
{
    ...;
}

带默认参数的函数的声明、定义及使用
函数可以先声明后定义再使用;也可以不声明只定义后使用。
一般情况下我们选择将默认参数放在函数定义中,这是我们设计函数的初衷,以及保证程序的可读性。
在实际调用过程中,实参按从左到右的顺序被赋给相应的形参,而不能跳过任何参数。范例:

val = fun1(2);                //等价于 fun1(2,4,5)
val = fun1(1,8);            //等价于 fun1(1,8,5)
val = fun1(8,7,6);            //等价于 fun1(8,7,6)
val = fun1(3, ,8);            //这种调用方式有误,有参数被跳过。


————————————————
版权声明:本文为CSDN博主「码农讲习所」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lsky380/article/details/102976485

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页