C ++ Lambda -Ausdrücke

C ++ Lambda -Ausdrücke

Lambda -Ausdrücke sind eines der leistungsstärksten Merkmale in C++. Lambda wird in den 11 eingeführtth Version von C ++ und ist auch in C ++ - Versionen 14 und 17 erhältlich.

Wann immer wir einen Funktionszeiger in unserem Programm brauchen, können wir in diesem Fall Lambda verwenden. Es bietet dem C ++ - Programmierer zusätzliche Optionen, um eine Funktionsdefinition zu schreiben, ohne eine Funktion zu definieren. Jetzt diskutieren wir Details über das Konzept des Lambda -Ausdrucks.

Lambda -Syntax

Die Lambda -Syntax besteht hauptsächlich aus drei Teilen. Sie sind

  1. []
  2. ()

Wo [] Capture -Liste genannt wird.

() wird als Funktionsargument bezeichnet.

wird als Funktionskörper bezeichnet.

Die Elemente von Lambda

  1. Capture -Liste: Hier schreiben wir Lambda -Ausdruck oder -Funktion, was auch immer im Programm erforderlich ist.
  2. Parameter: Es ist auch als Lambda -Erklärung bekannt. Es kann als optionaler Fall verwendet werden.
  3. Methodendefinition: Hier erklären wir, wie sich die Funktion im Programm verhalten wird.

Definieren und aufrufen eine Funktion

int main ()

[] 90 // Erfassungsliste und Parameter.
Cout<< “The coding and expression part of Lambda” << endl ;
(); // Open and Close Brace wird im Lambda -Ausdruck hervorrufen.
Rückkehr 0;

Programmierbeispiel 1

#enthalten
Verwenden von Namespace STD;
Struct TripleValue // ein Funktionsobjekt definieren .
int operator () (int value)
Rückgabewert * 3;

;
int main ()

TrippleValue TV; // Objekterstellung .
int t = tv (2);
Cout<< “ The Cube value is ” << t << endl ;
Rückkehr 0;

Ausgang

Erläuterung
Hier möchten wir erklären, wo Lambdas tatsächlich auf das Programm angewendet werden. Dazu erstellen wir hier ein Funktionsobjekt namens TV. Der Klassenname ist TrippleValue. Deshalb erstellen wir den Objektfernseher des Klassen -TrippleValue, der einen Wert erhält und ihn in einen Würfelwert verwandelt. In der Hauptfunktion erstellen wir einen Objektfernseher und übergeben einen Wert von 2. Drucken Sie nun den Wert von t; Es zeigt das Ergebnis 8. Weil der Würfel von 2 8 beträgt.

Es wird beobachtet, dass Lambdas im obigen Programm nicht verwendet werden. Jetzt wird der gleiche Programmtyp mit Hilfe des Lambda -Ausdrucks auf sehr effiziente Weise im nächsten Programm ausgeführt.

Programmierbeispiel 2

#enthalten
Verwenden von Namespace STD;
int main ()

auto v = [] (int value) return value * 2; ; // Lambda -Ausdruck werden hier verwendet.
int t = v (2);
Cout<< << t << endl ;
Rückkehr 0;

Ausgang

Erläuterung
Jetzt haben wir das gleiche Programm mit Hilfe des Lambda -Ausdrucks gemacht. Hier deklarieren wir eine Variable V, die eine Variable des automatischen Typs ist, in der wir den Wert speichern, den der Lambda -Ausdruck zurückgibt. Wir machen diese Berechnung in einer einzigen Linie. Jetzt übergeben wir einen Wert 2 innerhalb der Variablen V und speichern ihn in der T -Variablen. In der nächsten Zeile des Programms drucken wir einfach die Variable t. Es zeigt Ergebnis 4. Wenn wir einen Wert innerhalb des Lambda -Ausdrucks zurückgeben als Wert * 2.

Programmierbeispiel 3

#enthalten
#enthalten
#enthalten
int main ()

std :: vector vc 10, 20, 30, 40;
std :: for_each (vc.begin (), vc end (), [] (int n)
Cout<< << n * n << endl ;
);
Rückkehr 0;

Ausgang

Erläuterung
Hier nehmen wir einen Vektor namens VC, der einige Werte 10, 20, 30 und 40 benötigt. Wir wollen jedes Element im Vektor quadrieren. Dafür verwenden wir for_each Loop. In der Klammung der For_each -Schleife verwenden wir einen Lambda -Ausdruck. In seinem Körper befördern wir einfach diese Vektorwerte.

Vorteile der Verwendung von Lambda

  1. Der Lambda -Ausdruck erhöht die Lesbarkeit des Programms effizient.
  2. Es reduziert die Anzahl der Zeilen im Code, und die Programme werden einfacher. Infolgedessen erhält der Programmierer Erleichterung, um weniger keine Codierung zu schreiben.
  3. Der Lambda -Ausdruck bringt dem Programm keinen zusätzlichen neuen Namen oder keine neuen Zeilen ein. Es erhöht die Robustheit des Programms.
  4. Es verringert auch die zeitliche Komplexität des Programms.

Abschluss

Mit Details über das Konzept des Lambda -Expressionsthemas in C ++ sind wir zu dem Schluss gekommen, dass es eines der mächtigen Konzepte von C ist++. Durch den Lambda -Ausdruck können wir problemlos auf effiziente Weise mit einem Programmiercode erfolgen. Wenn wir das Konzept von Lambda und seiner Verwendung verstehen können, können wir mit Hilfe des Lambda -Ausdrucks viele Programmierantworten sehr leicht lösen.