默认参数: 在函数定义中指定参数默认值,使用常数预定义;可变参数: 使用省略号表示,编译为指向数组的指针,打包传入参数,遍历数组访问参数。
探究 C++ 函数默认参数和可变参数的底层实现
默认参数
默认参数是一种可以在函数定义中指定参数默认值的机制。它允许函数在不传递实参时使用默认值。
在底层,默认参数实际上是由编译器实现的,即预定义为常数的参数。当编译器调用具有默认参数的函数时,它将检查是否传递了传入变量,如果没有,它将使用预先定义的默认值。
例如:
void print_number(int num, int default_num = 10) { cout << (num ? num : default_num) << endl; }