1.0 函数的默认参数

函数的型参列表中,型参可以有默认值:返回值类型 函数名 (型参 = 默认值)

int summation(int a = 10, int b = 20){
  return a + b;
}

在使用函数的默认参数时有以下几点需要注意:

  • 如果函数中的某一个位置已经有了默认参数,则此后所有型参都必须有默认参数:int summation (int a, int b = 10, int c) 这样是不合法的。
  • 如果函数声明中有默认参数,那么函数实现中必须保持一致。

2.0 函数的占位参数

为函数提供占位参数,占位参数只有参数类型声明而没有参数名声明。

int func(int a, int b, int){
  return a + b;
}

一般情况下函数体内部无法使用占位函数,在 C++ 中使用占位参数可以方便后续程序拓展&兼容 C 中可能出现的不规范写法。

3.0 函数重载

函数重载使函数名可以相同,提高复用性。函数重载需要满足以下几个条件:

  • 同一个作用域下
  • 函数名相同
  • 函数参数类型、个数不同、顺序不同
  • 函数的返回值不可以成为函数重载的满足条件
void func(int a){}

void func(const int a){}

根据传入参数的数据类型的不同调用到的参数不同。