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
登錄后復制