C++-Lambda-Ausdruck ist eine anonyme Funktion, die zum Inline-Definieren von Funktionen mit der Syntax verwendet wird: [Erfassungsliste](Parameter) -> Sie können Variablen im äußeren Bereich erfassen, Parameter übergeben und Rückgabetypen angeben. Lambda-Ausdrücke werden verwendet, wenn Sie eine Funktion als Parameter übergeben oder eine Funktion in einem bestimmten Kontext definieren müssen, beispielsweise zum Übergeben von Parametern, zum Erfassen von Variablen und zum Sortieren von Listen.
C++-Lambda-Ausdruck: Definition und Verwendung
Einführung
Lambda-Ausdruck ist eine spezielle anonyme Funktion in der C++-Sprache, mit der Sie Inline-Funktionen auf prägnante Weise definieren können. Sie werden häufig in Situationen verwendet, in denen Sie eine Funktion als Parameter übergeben oder eine Funktion in einem bestimmten Kontext definieren müssen.
Syntax
Die Syntax des Lambda-Ausdrucks lautet wie folgt:
[capture list](parameters) -> return_type { // 函数体 }
Erfassungsliste
Die Erfassungsliste wird verwendet, um Variablen im äußeren Bereich des Lambda-Ausdrucks zu erfassen. Variablen können nach Wert oder nach Referenz erfasst werden.
Parameter
Mit der Parameterliste können Sie Argumente an Lambda-Ausdrücke übergeben.
Rückgabetyp
Wenn der Lambda-Ausdruck einen Wert zurückgibt, müssen Sie den Rückgabetyp angeben. Andernfalls sollte der Rückgabetyp void
sein.
Funktionskörper
Ähnlich wie bei einer normalen Funktion enthält der Funktionskörper den Code, der als Lambda-Ausdruck verwendet werden soll.
Verwendung
Hier sind einige Anwendungsbeispiele für Lambda-Ausdrücke:
Einfaches Beispiel
[]() { std::cout << "Hello, world!" << std::endl; }();
Übergabe von Parametern
int add(int a, int b) { return a + b; } [] (int a, int b) { return a + b; }(5, 6); // 调用 lambda 表达式
Erfassen von Variablen
int x = 10; [x] () { std::cout << "Value of x: " << x << std::endl; }();
Praktischer Fall
Betrachten Sie ein Beispiel für eine Bedarfspaarliste Zahlen sortieren:
std::vector<int> numbers = {2, 5, 1, 3, 4}; std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a < b; }); for (auto num : numbers) { std::cout << num << " "; }
Ausgabe:
1 2 3 4 5
Fazit
Lambda-Ausdrücke sind ein leistungsstarkes Werkzeug zum Definieren von Inline-Funktionen in C++. Sie vereinfachen den Code, verbessern die Lesbarkeit und reduzieren den Bedarf an Standardcode. Wenn Sie deren Syntax, Verwendung und praktische Beispiele verstehen, können Sie Lambda-Ausdrücke effektiv verwenden, um eine Vielzahl von Programmierproblemen zu lösen.
Das obige ist der detaillierte Inhalt vonWie definiere und verwende ich C++-Lambda-Ausdrücke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!