c++++ 中變長參數函數允許接收數量可變的參數。其語法為:returntype function_name(type1 arg1, type2 arg2, …, typen argn);。調用變長參數函數時,使用 function_name(arg1, arg2, …, argn); 形式,其中 arg1 至 argn 為實際傳遞的參數。如實戰案例中計算數字列表和的函數 sum 所示,它使用 va_list 遍歷和累加變長參數,實現動態獲取參數和計算的功能。
C++ 函數的變長參數
變長參數允許函數接收數量可變的參數。在 C++ 中,使用 ...(省略號)語法指定變長參數。
語法
returntype function_name(type1 arg1, type2 arg2, ..., typen argn);
登錄后復制
其中,returntype 是函數的返回值類型,arg1, arg2, …, argn 是函數參數列表,... 表示變長參數。
調用
當調用變長參數函數時,可以使用以下形式:
function_name(arg1, arg2, ..., argn);
登錄后復制
其中,arg1, arg2, …, argn 是實際傳遞給函數的參數。
實戰案例
下面是一個計算給定數字列表和的函數的示例:
#include <iostream>
#include <stdarg.h>
using namespace std;
// 計算數字列表和的函數
int sum(int num, ...) {
va_list args;
int sum = num;
// 獲取變長參數
va_start(args, num);
// 遍歷變長參數并累加
while (int arg = va_arg(args, int)) {
sum += arg;
}
// 清理變長參數
va_end(args);
return sum;
}
int main() {
// 調用函數計算數字列表和
cout << "數字列表和為:" << sum(1, 2, 3, 4, 5) << endl;
return 0;
}
登錄后復制
輸出
數字列表和為:15
登錄后復制






