首頁  >  文章  >  後端開發  >  C++ 可變參數的語法及規則解析

C++ 可變參數的語法及規則解析

王林
王林原創
2024-04-20 10:15:021090瀏覽

C 可變參數允許函數接受任意數量的參數,語法為:returnType functionName(type1 arg1, ..., typeN argN, ...)。規則包括:必須放在固定參數後、只能有一個、型別必須為內建型別、類別物件或指標、數量在呼叫時確定。在實戰中,sum 函數計算所有參數的和:int sum(int n, ...) {...}。

C++ 可变参数的语法及规则解析

C 可變參數的語法及規則解析

可變參數是C 中一種特殊的函數參數語法,它允許函數接受任意數量的參數。這在實現需要適應動態變化的參數列表的函數時非常有用。

語法

returnType functionName(type1 arg1, type2 arg2, ..., typeN argN, ...)

其中:

  • returnType 是函數的回傳值類型。
  • functionName 是函數的名稱。
  • arg1, arg2, ..., argN 是類型分別為type1, type2, ..., typeN 的固定參數。
  • ... 表示可變參數。該省略號後可以跟一個標識符,它將指示可變參數的類型。

規則

可變參數的規則如下:

  • 可變參數必須放在固定參數之後。
  • 可變參數只能有一個。
  • 可變參數的類型必須是內建類型、類別物件或指標類型。
  • 可變參數的數量在呼叫時才能確定。

實戰案例

在以下範例中,我們定義了一個可變參數函數sum 來計算其所有參數的和:

int sum(int n, ...)
{
    va_list args;
    va_start(args, n);

    int result = n;
    int arg;
    while ((arg = va_arg(args, int)) != 0)
    {
        result += arg;
    }

    va_end(args);
    return result;
}

現在,我們可以像這樣呼叫此函數,傳遞任意數量的參數:

int total1 = sum(1, 2, 3, 4, 5); // 总和为 15
int total2 = sum(2, 4, 6, 8, 10); // 总和为 30

以上是C++ 可變參數的語法及規則解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn