Heim  >  Artikel  >  Backend-Entwicklung  >  C++-Funktion Lambda-Ausdruck als Parameter übergeben

C++-Funktion Lambda-Ausdruck als Parameter übergeben

WBOY
WBOYOriginal
2024-04-20 09:42:011086Durchsuche

C++-Lambda-Ausdrücke können als Parameter an andere Funktionen übergeben werden. Die Syntax lautet: auto lambda_function = [](parameter_list) -> return_type { ... }. Beispielsweise empfängt die Funktion for_each als Argumente einen Vektor und einen Lambda-Ausdruck, der eine bestimmte Operation ausführt (z. B. das Drucken der Vektorelemente auf der Konsole).

C++ 函数 Lambda 表达式作为参数传递

C++-Funktion Lambda-Ausdruck als Parameter übergeben

Ein Lambda-Ausdruck ist eine kleine anonyme Funktion, die als Parameter an andere Funktionen übergeben werden kann. Dies ist nützlich, wenn Sie eine oder zwei Codezeilen als Parameter übergeben müssen.

Syntax

auto lambda_function = [](parameter_list) -> return_type {
  // lambda 函数体
};

Beispiel

Hier ist ein Beispiel einer C++-Funktion, die einen Lambda-Ausdruck als Parameter akzeptiert:

#include <iostream>
#include <vector>

using namespace std;

void for_each(const vector<int>& v, function<void(int)> f) {
  for (int i : v) {
    f(i);
  }
}

int main() {
  vector<int> v = {1, 2, 3, 4, 5};

  // lambda 表达式作为 for_each 函数的参数
  for_each(v, [](int i) {cout << i << endl; });

  return 0;
}

Ausgabe

1
2
3
4
5

In diesem Beispiel die Funktion for_each s ein Vektor und eine Lambda-Ausdrucksformel als Parameter. Ein Lambda-Ausdruck wird als Rückruffunktion verwendet, die eine bestimmte Operation für jedes Vektorelement (in diesem Fall das Ausgabeelement) ausführt.

Das obige ist der detaillierte Inhalt vonC++-Funktion Lambda-Ausdruck als Parameter übergeben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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