Espressioni Lambda C ++

Espressioni Lambda C ++

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

  1. [
  2. ()

Dove [] si chiama elenco di acquisizione.

() è chiamato argomento funzione.

è chiamato corpo di funzione.

Gli elementi di Lambda

  1. Elenco di acquisizione: Qui, scriviamo espressione o funzione Lambda, qualunque cosa sarà richiesta nel programma.
  2. Parametri: È anche noto come Dichiarazione Lambda. Può essere usato come caso opzionale.
  3. Definizione del metodo: Qui, spieghiamo come la funzione si comporterà nel programma.

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

  1. L'espressione di lambda aumenta la leggibilità del programma in modo efficiente.
  2. Riduce il NO delle righe nel codice e i programmi diventano più semplici. Di conseguenza, il programmatore riceve sollievo a scrivere meno senza codifica.
  3. L'espressione di lambda non introduce alcun nome o linee extra nuovo al programma. Aumenta la robustezza del programma.
  4. Diminuisce anche la complessità del tempo del programma.

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.