Wyrażenia Lambda są jedną z najpotężniejszych cech w C++. Lambda została wprowadzona w 11th Wersja C ++ i jest również dostępna w wersjach C ++ 14 i 17.
Ilekroć potrzebujemy wskaźnika funkcji w naszym programie, w tym konkretnym przypadku możemy użyć Lambda. Zapewnia dodatkowe opcje programatora C ++ do napisania definicji funkcji bez definiowania funkcji. Teraz omawiamy szczegóły dotyczące koncepcji wyrażenia Lambda.
Składnia Lambda
Składnia Lambda składa się głównie z trzech części. Oni są
Gdzie [] nazywa się listę przechwytywania.
() nazywa się argumentem funkcji.
nazywa się korpusem funkcji.
Elementy Lambda
Zdefiniuj i wywołuje funkcję
int main ()
[] 90 // Lista przechwytywania i parametr.
Cout<< “The coding and expression part of Lambda” << endl ;
(); // Otwórz i bliski Brace wywoła wyrażenie lambda.
powrót 0;
Przykład programowania 1
#włączać
za pomocą przestrzeni nazw Std;
struct trippleValue // zdefiniuj obiekt funkcji .
int operator () (int wartość)
Wartość zwracana * 3;
;
int main ()
TRIPLEVALUE TV; // Tworzenie obiektów .
int t = TV (2);
Cout<< “ The Cube value is ” << t << endl ;
powrót 0;
Wyjście
Wyjaśnienie
Tutaj chcemy wyjaśnić, gdzie lambdas są faktycznie stosowane do programu. Aby to zrobić, tutaj tworzymy obiekt funkcyjny o nazwie TV. Nazwa klasy to TrippleValue. Więc tworzymy telewizję obiektu klasy TrippleValue, która uzyska wartość i przekształci ją w wartość kostki. Wewnątrz głównej funkcji tworzymy telewizor obiektowy i przekazujemy wartość 2. Teraz wydrukuj wartość t; pokazuje wynik 8. Ponieważ kostka 2 to 8.
Możliwe będzie, że Lambdas nie są używane w powyższym programie. Teraz ten sam rodzaj programu zostanie uruchomiony za pomocą wyrażenia Lambda w bardzo wydajny sposób w następnym programie.
Przykład programowania 2
#włączać
za pomocą przestrzeni nazw Std;
int main ()
auto v = [] (int value) return value * 2; ; // Wyrażenie lambda są tutaj używane.
int t = v (2);
Cout<< << t << endl ;
powrót 0;
Wyjście
Wyjaśnienie
Teraz wykonaliśmy ten sam program za pomocą wyrażenia Lambda. Tutaj deklarujemy zmienną V, która jest zmienną typu automatycznego, w której przechowujemy wartość, którą zwróci wyrażenie lambda. Robimy to obliczenia w jednej linii. Teraz przekazujemy wartość 2 wewnątrz zmiennej V i przechowujemy ją w zmiennej T. W następnym wierszu programu po prostu drukujemy zmienną t. Pokazuje wynik 4. Gdy zwracamy wartość w wyrażeniu lambda jako wartość * 2.
Przykład programowania 3
#włączać
#włączać
#włączać
int main ()
std :: vector vc 10, 20, 30, 40;
std :: for_each (vc.begin (), vc end (), [] (int n)
Cout<< << n * n << endl ;
);
powrót 0;
Wyjście
Wyjaśnienie
Tutaj bierzemy wektor o nazwie VC, który przyjmuje niektóre wartości 10, 20, 30 i 40. Chcemy wyrównać każdy element w wektorze. W tym celu używamy pętli For_each. Wewnątrz nawiasu pętli for_each używamy wyrażenia Lambda. W jego ciele po prostu kwadźmy te wartości wektorowe.
Korzyści z korzystania z Lambda
Wniosek
Omawiając szczegóły dotyczące koncepcji tematu ekspresji Lambda w C ++, doszliśmy do wniosku, że jest to jedna z potężnych koncepcji C++. Dzięki wyrażeniu Lambda możemy łatwo wykonać kod programowy w wydajny sposób. Jeśli jesteśmy w stanie zrozumieć pojęcie Lambda i jej zastosowania, to za pomocą wyrażenia Lambda możemy bardzo łatwo rozwiązać wiele odpowiedzi programistycznych.