Heim > Backend-Entwicklung > C++ > Hauptteil

Wie definiere und rufe ich variadische Funktionen in C++ auf?

WBOY
Freigeben: 2024-04-12 21:03:02
Original
956 Leute haben es durchsucht

Verwenden Sie in C++ ... (Auslassungspunkte), um eine Funktion mit variablen Parametern zu definieren, sodass die Funktion beim Aufruf eine beliebige Anzahl von Parametern akzeptieren kann. Behandeln Sie sie einfach als Funktion mit festen Parametern.

C++ 中如何定义和调用可变参数函数?

Wie definiere und rufe ich variadische Funktionen in C++ auf?

Variable Funktion (auch bekannt als variadische Funktion) ermöglicht es der Funktion, eine beliebige Anzahl von Parametern zu akzeptieren. Die C++-Standardbibliothek enthält eine Reihe verschiedener Funktionen, wie zum Beispiel printf() und scanf(). Sie können auch Ihre eigenen variadischen Funktionen definieren. printf()scanf()。您还可以定义自己的可变参数函数。

定义可变参数函数

要定义可变参数函数,请使用语法 ...(省略号)。它表示该函数可以获取任意数量的参数。例如:

#include <iostream>
#include <cstdarg> // 包含 va_list 和相关的宏

void print_numbers(int count, ...) {
  va_list args;
  va_start(args, count); // 初始化 va_list 对象

  // 遍历可变参数
  for (int i = 0; i < count; i++) {
    int num = va_arg(args, int); // 获取下一个 int 类型的参数
    std::cout << num << " ";
  }

  va_end(args); // 清理 va_list 对象
}
Nach dem Login kopieren

注意,... 必须放在所有固定参数定义之后。

调用可变参数函数

要调用可变参数函数,只需将其视为具有固定数量参数的其他函数。例如:

print_numbers(3, 1, 2, 3);
Nach dem Login kopieren

该函数会打印出 1 2 3

Variadische Funktionen definieren

Um eine variadische Funktion zu definieren, verwenden Sie die Syntax ... (Auslassungspunkte). Das bedeutet, dass die Funktion eine beliebige Anzahl von Argumenten annehmen kann. Zum Beispiel:

#include <iostream>

void print_max(int count, ...) {
  va_list args;
  va_start(args, count);

  // 保存最大值
  int max = INT_MIN;

  // 获取并比较可变参数
  for (int i = 0; i < count; i++) {
    int num = va_arg(args, int);
    if (num > max) {
      max = num;
    }
  }

  va_end(args);

  // 打印最大值
  std::cout << "最大值:" << max << std::endl;
}

int main() {
  print_max(3, 1, 2, 3);
  print_max(5, 3, 5, 2, 1, 7);

  return 0;
}
Nach dem Login kopieren

Beachten Sie, dass ... nach allen festen Parameterdefinitionen platziert werden muss.

🎜Eine variadische Funktion aufrufen🎜🎜🎜Um eine variadische Funktion aufzurufen, behandeln Sie sie einfach wie jede andere Funktion mit einer festen Anzahl von Argumenten. Zum Beispiel: 🎜
最大值:3
最大值:7
Nach dem Login kopieren
🎜Diese Funktion gibt 1 2 3 aus. 🎜🎜🎜Praktischer Fall🎜🎜🎜Das folgende Beispiel zeigt, wie eine Variadic-Funktion definiert und aufgerufen wird: 🎜rrreee🎜Ausgabe: 🎜rrreee

Das obige ist der detaillierte Inhalt vonWie definiere und rufe ich variadische Funktionen in C++ auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage