Lambda -uttrykk er en av de kraftigste funksjonene i C++. Lambda blir introdusert i 11th versjon av C ++ og er også tilgjengelig i C ++ versjoner 14 og 17.
Hver gang vi trenger en funksjonspeker i programmet vårt, i det aktuelle tilfellet, kan vi bruke Lambda. Det gir flere alternativer til C ++ programmereren for å skrive en funksjonsdefinisjon uten å definere en funksjon. Nå diskuterer vi detaljer om konseptet med lambda -uttrykket.
Lambda syntaks
Lambda -syntaksen består hovedsakelig av tre deler. De er
Hvor [] kalles fangstliste.
() kalles funksjonsargument.
kalles funksjonskropp.
Elementene i Lambda
Definere og ringe en funksjon
int main ()
[] 90 // Fangstliste og parameter.
cout<< “The coding and expression part of Lambda” << endl ;
(); // Åpen og nært stag vil påkalle i Lambda -uttrykk.
retur 0;
Programmering Eksempel 1
#inkludere
ved hjelp av navneområdet STD;
struct trippLalue // definere et funksjonsobjekt .
int operator () (int -verdi)
returverdi * 3;
;
int main ()
tripplevalue TV; // objektoppretting .
int t = TV (2);
cout<< “ The Cube value is ” << t << endl ;
retur 0;
Produksjon
Forklaring
Her vil vi forklare hvor lambdas faktisk blir brukt på programmet. For å gjøre dette, her oppretter vi et funksjonsobjekt som heter TV. Klassenavnet er tripplevalue. Så vi lager objekt -TVen til klassen TrippleValue, som vil få en verdi og gjøre det til en kubisk verdi. Inne i hovedfunksjonen lager vi en objekt -TV og passerer en verdi på 2. Skriv nå ut verdien av T; det viser resultatet 8. Fordi kuben på 2 er 8.
Det vil være observerbar at lambdas ikke brukes i programmet ovenfor. Nå vil samme type program bli kjørt ved hjelp av Lambda -uttrykk på en veldig effektiv måte i neste program.
Programmering Eksempel 2
#inkludere
ved hjelp av navneområdet STD;
int main ()
auto v = [] (int -verdi) returverdi * 2; ; // lambda -uttrykk brukes her.
int t = v (2);
cout<< << t << endl ;
retur 0;
Produksjon
Forklaring
Nå har vi gjort det samme programmet ved hjelp av Lambda -uttrykk. Her erklærer vi en variabel V som er en variabel automatisk type, der vi lagrer verdien som Lambda -uttrykk vil returnere. Vi gjør den beregningen i en enkelt linje. Nå passerer vi en verdi 2 inne i variabelen V og lagrer den inne i T -variabelen. I neste linje i programmet skriver vi ganske enkelt ut variabelen t. Det viser resultat 4. Når vi returnerer en verdi i lambda -uttrykket som Verdi * 2.
Programmeringseksempel 3
#inkludere
#inkludere
#inkludere
int main ()
std :: vektor vc 10, 20, 30, 40;
std :: for_each (VC.Begynn (), VC end (), [] (int n)
cout<< << n * n << endl ;
);
retur 0;
Produksjon
Forklaring
Her tar vi en vektor som heter VC, som tar noen verdier 10, 20, 30 og 40. Vi vil kvadratere hvert element i vektoren. For dette bruker vi for_each -loop. Inne i parentesen til for_each -sløyfen bruker vi et lambda -uttrykk. Inne i kroppen kvadrer vi ganske enkelt disse vektorverdiene.
Fordelene med å bruke lambda
Konklusjon
Diskuterer detaljer om konseptet med Lambda -ekspresjonsemnet i C ++, har vi kommet til at det er et av de kraftige konseptene til C++. Gjennom Lambda -uttrykk kan vi enkelt gjøres en programmeringskode på en effektiv måte. Hvis vi er i stand til å forstå begrepet lambda og dets bruk, kan vi ved hjelp av lambda -uttrykk løse mange programmeringssvar veldig enkelt.