C ++ Lambda -uttrykk

C ++ Lambda -uttrykk

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

  1. []
  2. ()

Hvor [] kalles fangstliste.

() kalles funksjonsargument.

kalles funksjonskropp.

Elementene i Lambda

  1. Fangstliste: Her skriver vi Lambda -uttrykk eller funksjon, hva som vil være nødvendig i programmet.
  2. Parametere: Det er også kjent som Lambda -erklæring. Det kan brukes som et valgfritt tilfelle.
  3. Metodedefinisjon: Her forklarer vi hvordan funksjonen vil oppføre seg i programmet.

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

  1. Lambda -uttrykk øker programmets lesbarhet effektivt.
  2. Det reduserer antall linjer i koden, og programmene blir enklere. Som et resultat får programmereren lettelse å skrive mindre ingen koding.
  3. Lambda -uttrykk introduserer ikke noe ekstra nytt navn eller linjer på programmet. Det øker programmets robusthet.
  4. Det reduserer også tidskompleksiteten til programmet.

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.