Le espressioni Lambda sono una delle caratteristiche più potenti di C++. Lambda è introdotto nell'11th Versione di C ++ ed è disponibile anche nelle versioni C ++ 14 e 17.
Ogni volta che abbiamo bisogno di un puntatore di funzione nel nostro programma, in quel caso particolare, possiamo usare lambda. Fornisce opzioni aggiuntive al programmatore C ++ per scrivere una definizione di funzione senza definire una funzione. Ora discutiamo dei dettagli sul concetto di espressione di lambda.
Sintassi lambda
La sintassi di lambda è composta principalmente da tre parti. Sono
Dove [] si chiama elenco di acquisizione.
() è chiamato argomento funzione.
è chiamato corpo di funzione.
Gli elementi di Lambda
Definire e chiamare una funzione
int main ()
[] 90 // Elenco e parametro di acquisizione.
cout<< “The coding and expression part of Lambda” << endl ;
(); // aprire e chiudere il tutore invocherà nell'espressione di lambda.
restituzione 0;
Esempio di programmazione 1
#includere
Utilizzo dello spazio dei nomi std;
struct TRIPPLEVALUE // Definisci un oggetto funzione .
int operator () (int valore)
Valore di ritorno * 3;
;
int main ()
TRIPPLEVALUE TV; // creazione di oggetti .
int t = TV (2);
cout<< “ The Cube value is ” << t << endl ;
restituzione 0;
Produzione
Spiegazione
Qui vogliamo spiegare dove vengono effettivamente applicati Lambdas al programma. Per fare questo, qui, creiamo un oggetto di funzione chiamato TV. Il nome della classe è TRIPPLEVALUE. Quindi creiamo l'oggetto TV della classe TRIPPLEVALUE, che otterrà un valore e lo trasformerà in un valore del cubo. All'interno della funzione principale, creiamo un oggetto TV e passiamo un valore di 2. Ora stampano il valore di t; mostra il risultato 8. Perché il cubo di 2 è 8.
Sarà osservabile che i lambdas non sono utilizzati nel programma sopra. Ora lo stesso tipo di programma verrà eseguito con l'aiuto dell'espressione di lambda in modo molto efficiente nel programma successivo.
Esempio di programmazione 2
#includere
Utilizzo dello spazio dei nomi std;
int main ()
auto v = [] (valore int) valore di ritorno * 2; ; // L'espressione Lambda è usata qui.
int t = v (2);
cout<< << t << endl ;
restituzione 0;
Produzione
Spiegazione
Ora abbiamo fatto lo stesso programma con l'aiuto dell'espressione di lambda. Qui dichiariamo una variabile V che è una variabile di tipo automatico, in cui memorizziamo il valore che restituirà l'espressione di lambda. Facciamo quel calcolo in una singola riga. Ora passiamo un valore 2 all'interno della variabile V e lo memorizziamo all'interno della variabile T. Nella riga successiva del programma, stampiamo semplicemente la variabile T. Mostra il risultato 4. Mentre restituiamo un valore all'interno dell'espressione di lambda come valore * 2.
Esempio di programmazione 3
#includere
#includere
#includere
int main ()
std :: vector vc 10, 20, 30, 40;
std :: for_each (VC.inizio (), vc end (), [] (int n)
cout<< << n * n << endl ;
);
restituzione 0;
Produzione
Spiegazione
Qui prendiamo un vettore di nome VC, che prende alcuni valori 10, 20, 30 e 40. Vogliamo quadrare ogni elemento nel vettore. Per questo, usiamo for_each loop. All'interno della parentesi del loop For_each, usiamo un'espressione Lambda. All'interno del suo corpo, quasriamo semplicemente questi valori vettoriali.
Vantaggi dell'utilizzo di lambda
Conclusione
Discutendo i dettagli sul concetto dell'argomento di espressione di lambda in C ++, siamo giunti alla conclusione che è uno dei potenti concetti di C++. Attraverso l'espressione di Lambda, possiamo facilmente essere eseguiti un codice di programmazione in modo efficiente. Se siamo in grado di comprendere il concetto di lambda e dei suoi usi, allora con l'aiuto dell'espressione di lambda, possiamo risolvere molte risposte di programmazione molto facilmente.