在 C++ 中,缺省函数(Default Function)是指在函数声明中为函数的参数提供默认值的函数。当调用这个函数时,如果没有提供相应参数的值,那么将使用该参数的默认值。
下面是一个使用缺省函数的简单示例:
void printMessage(std::string message = "Hello, World!") {
std::cout << message << std::endl;
}
int main() {
printMessage(); // 使用默认参数值
printMessage("Hi!"); // 提供自定义参数值
return 0;
}
在上面的示例中,我们定义了一个名为?printMessage
?的函数,并为其参数?message
?提供了一个默认值?"Hello, World!"
。当我们在?main
?函数中调用?printMessage
?函数时,可以选择传递参数值或者不传递。如果我们不传递任何参数值,那么将使用参数的默认值。
缺省函数的优点在于它们提供了更灵活的函数调用选项。使用缺省函数可以简化函数调用,尤其是对于有多个参数的函数来说。它还能够提供一个合适的默认行为,当不提供特定参数值时,函数可以以某种约定的方式运行。
在定义缺省函数时,需要遵循以下规则:
以下是另一个示例,演示了多个参数和它们的默认值:
void printNumbers(int a, int b = 0, int c = 0) {
std::cout << "Numbers: " << a << ", " << b << ", " << c << std::endl;
}
int main() {
printNumbers(1); // a=1, b=0, c=0
printNumbers(2, 3); // a=2, b=3, c=0
printNumbers(4, 5, 6); // a=4, b=5, c=6
return 0;
}
在上面的示例中,我们定义了一个名为?printNumbers
?的函数,它有三个参数,并为其中两个参数提供了默认值。在?main
?函数中,我们可以选择传递任意数量的参数,缺省的参数将使用其默认值。
请注意,在函数声明或者函数定义的使用中,缺省参数只需在函数原型或者定义的其中之一中提供即可。而且,一旦某个函数的声明或者定义中提供了默认值,那么其他使用的声明或定义必须保持一致。