编译器确定参数是给定还是省略,可以通过在函数声明中使用默认参数值来实现。
下面是一个示例代码:
#include
void printNumbers(int start, int end = 10) {
for (int i = start; i <= end; i++) {
std::cout << i << " ";
}
std::cout << std::endl;
}
int main() {
// 调用函数时省略了第二个参数,默认使用默认参数值
printNumbers(1);
// 调用函数时给定了第二个参数的值
printNumbers(5, 15);
return 0;
}
在上述代码中,函数printNumbers
有两个参数:start
和end
。参数end
使用了默认参数值10
。当调用printNumbers
函数时,如果省略了第二个参数,则会使用默认参数值;如果给定了第二个参数的值,则会使用给定的值。
在main
函数中,第一次调用printNumbers
函数时省略了第二个参数,结果会打印从1到10的数字。第二次调用printNumbers
函数时给定了第二个参数的值15
,结果会打印从5到15的数字。
通过使用默认参数值,编译器可以确定参数是给定还是省略。