C++(默认参数、占位参数)
在 C++ 中,函数默认参数和占位参数都是用于提供函数参数的一些默认值或占位符,从而增加函数的灵活性。
默认参数(Default Parameters):
在 C++ 中,可以为函数的一个或多个参数提供默认值。这意味着调用函数时,如果没有提供相应的实参,将使用默认值。默认参数必须从函数声明开始定义,然后只能在定义中提供默认值。
#include <iostream>
// 函数声明中设置默认参数
int add(int a, int b = 0);
int main() {
std::cout << add(3) << std::endl; // 调用时没有提供第二个参数,默认使用 b = 0
std::cout << add(3, 4) << std::endl; // 调用时提供了第二个参数,b = 4
return 0;
}
// 函数定义中设置默认参数
int add(int a, int b) {
return a + b;
}
占位参数(Placeholder Parameters):
占位参数是在函数声明或定义时用于占据参数位置的标识符。它们在函数体内部没有具体的定义,而是用于占位,通常在函数的实现中被忽略。占位参数的主要目的是为了提高函数的可读性。
#include <iostream>
// 函数声明中使用占位参数
void printMessage(const char* message, ...);
int main() {
printMessage("Hello, World!");
return 0;
}
// 函数定义中忽略占位参数
void printMessage(const char* message, ...) {
// 在实现中忽略占位参数
std::cout << message << std::endl;
}
在上面的例子中,...
是占位参数,用于表示可以接受可变数量的参数。在实现中,占位参数可以通过使用 va_list
等机制来处理可变参数。
总体而言,默认参数和占位参数都是 C++ 中提供的一些特性,用于增加函数的灵活性和可读性。默认参数提供了在调用函数时不必提供所有参数的能力,而占位参数则用于表示函数可以接受可变数量的参数。