- 函数默认值参数是在调用函数没有给实参时,将函数的默认值参数传递给形参
- 函数的默认值参数是在编译期生成指令时,直接生成入参指令,前提是调用函数时没有给实参,默认值参数只能传递常量
- 函数的默认值参数只能从右往左依次赋值,不能跳过
- 函数的默认值参数在同一作用域只能赋值一次。因为默认值参数在生成指令,不可能直接生成两条入参指令,否则,将乱套了
- 因为函数参数的默认值是在编译期带入的,所以函数参数的默认值只在本文件内有效,编译是针对单文件而言的
int fun(int a, int b, int c)
{
cout << a <
int fun(int a, int b, int c = 30)
{
cout << a <
int fun(int a, int b, int c = 30)
{
cout << a < 


