기본 매개변수: 함수 정의에서 기본 매개변수 값을 지정하고, 사전 정의된 상수를 사용합니다. 가변 매개변수를 사용하여 표현하고, 배열에 대한 포인터로 컴파일하고, 들어오는 매개변수를 패키징하고, 배열을 탐색하여 매개변수에 액세스합니다.
C++ 함수에서 기본 매개변수와 가변 매개변수의 기본 구현을 살펴보세요.
기본 매개변수
기본 매개변수는 함수 정의에서 매개변수에 대한 기본값을 지정할 수 있는 메커니즘입니다. 실제 매개변수가 전달되지 않을 때 함수가 기본값을 사용할 수 있도록 합니다.
내부적으로 기본 매개변수는 실제로 컴파일러에 의해 구현됩니다. 즉, 상수로 미리 정의된 매개변수입니다. 컴파일러는 기본 매개변수를 사용하여 함수를 호출할 때 들어오는 변수가 전달되는지 확인하고, 전달되지 않으면 미리 정의된 기본값을 사용합니다.
예:
void print_number(int num, int default_num = 10) { cout << (num ? num : default_num) << endl; }
이 함수를 호출할 때 두 번째 매개변수를 전달하거나 전달하지 않을 수 있습니다.
print_number(5); // 输出 5 print_number(0, 20); // 输出 20
가변 매개변수
가변 매개변수는 가변 길이 매개변수라고도 하며, 이를 통해 함수는 변수를 허용할 수 있습니다. 매개변수의 수. C++에서 가변 인수는 타원(...
)으로 표시됩니다. ...
) 表示。
在底层,可变参数被编译为一个指向数组的指针。当函数被调用时,编译器将传入的参数打包到分配的此数组中。然后,函数可以遍历该数组来访问参数。
例如:
int sum_numbers(int count, ...) { int sum = 0; va_list args; va_start(args, count); // 获取可变参数列表 for (int i = 0; i < count; ++i) { sum += va_arg(args, int); // 访问第 i 个参数 } va_end(args); // 清理可变参数列表 return sum; }
当调用该函数时,我们可以传递任意数量的参数:
cout << sum_numbers(3, 1, 2, 3) << endl; // 输出 6 cout << sum_numbers(5, 10, 20, 30, 40, 50) << endl; // 输出 150
实战案例
在现实世界中,默认参数和可变参数有广泛的应用。例如:
print()
print()
함수와 같이 가변 길이 인수 목록을 허용하는 라이브러리 함수를 만드는 데 사용됩니다. 🎜🎜위 내용은 C++ 함수의 기본 매개변수와 가변 매개변수의 기본 구현을 살펴보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!