Expressões C ++ Lambda

Expressões C ++ Lambda

As expressões lambda são uma das características mais poderosas em C++. Lambda é introduzido no 11º versão do C ++ e também está disponível nas versões C ++ 14 e 17.

Sempre que precisamos de um ponteiro de função em nosso programa, nesse caso em particular, podemos usar Lambda. Ele fornece opções adicionais ao programador C ++ para escrever uma definição de função sem definir uma função. Agora discutimos detalhes sobre o conceito de expressão de lambda.

Sintaxe Lambda

A sintaxe lambda consiste principalmente em três partes. Eles são

  1. []
  2. ()

Onde [] é chamado de lista de captura.

() é chamado de argumento da função.

é chamado de corpo de função.

Os elementos de Lambda

  1. Lista de captura: Aqui, escrevemos expressão ou função lambda, o que for necessário no programa.
  2. Parâmetros: Também é conhecido como Declaração Lambda. Pode ser usado como um caso opcional.
  3. Definição do método: Aqui, explicamos como a função se comportará no programa.

Defina e chamando uma função

int main ()

[] 90 // Lista de captura e parâmetro.
cout<< “The coding and expression part of Lambda” << endl ;
(); // Brace Open and Close invocará na expressão de Lambda.
retornar 0;

Exemplo de programação 1

#incluir
usando namespace std;
struct trippleValue // define um objeto de função .
int operator () (int valor)
valor de retorno * 3;

;
int main ()

TriPlipValue TV; // criação de objetos .
int t = tv (2);
cout<< “ The Cube value is ” << t << endl ;
retornar 0;

Saída

Explicação
Aqui queremos explicar onde os lambdas são realmente aplicados ao programa. Para fazer isso, aqui, criamos um objeto de função chamado TV. O nome da classe é TrippleValue. Por isso, criamos a TV do objeto da classe TrippleValue, que obterá um valor e o transformará em um valor de cubo. Dentro da função principal, criamos uma TV de objeto e passamos um valor de 2. Agora imprima o valor de t; Mostra o resultado 8. Porque o cubo de 2 é 8.

Será observável que os lambdas não sejam usados ​​no programa acima. Agora, o mesmo tipo de programa será executado com a ajuda da expressão de lambda de uma maneira muito eficiente no próximo programa.

Exemplo de programação 2

#incluir
usando namespace std;
int main ()

Auto V = [] (int Value) Retorno Valor * 2; ; // A expressão lambda é usada aqui.
int t = v (2);
cout<< << t << endl ;
retornar 0;

Saída

Explicação
Agora fizemos o mesmo programa com a ajuda da expressão de lambda. Aqui declaramos uma variável v que é uma variável de tipo automático, onde armazenamos o valor que a expressão lambda retornará. Fazemos esse cálculo em uma única linha. Agora passamos um valor 2 dentro da variável v e o armazenamos dentro da variável T. Na próxima linha do programa, simplesmente imprimimos a variável t. Mostra o resultado 4. À medida que retornamos um valor dentro da expressão lambda como valor * 2.

Exemplo de programação 3

#incluir
#incluir
#incluir
int main ()

std :: vetor vc 10, 20, 30, 40;
std :: for_each (vc.begin (), vc end (), [] (int n)
cout<< << n * n << endl ;
);
retornar 0;

Saída

Explicação
Aqui pegamos um vetor chamado VC, que leva alguns valores 10, 20, 30 e 40. Queremos encaixar cada elemento no vetor. Para isso, usamos o loop for_each. Dentro do parêntese do loop for_each, usamos uma expressão de lambda. Dentro de seu corpo, simplesmente encaixamos esses valores de vetor.

Benefícios do uso de lambda

  1. A expressão lambda aumenta a legibilidade do programa com eficiência.
  2. Reduz o número de linhas no código e os programas se tornam mais simples. Como resultado, o programador recebe alívio para escrever menos sem codificação.
  3. A expressão lambda não introduz nenhum novo nome ou linhas extras no programa. Aumenta a robustez do programa.
  4. Também diminui a complexidade do tempo do programa.

Conclusão

Discutindo detalhes sobre o conceito do tópico de expressão lambda em C ++, chegamos à conclusão de que é um dos conceitos poderosos de C++. Através da expressão lambda, podemos facilmente ser feitos um código de programação de maneira eficiente. Se conseguirmos entender o conceito de lambda e seus usos, então com a ajuda da expressão de lambda, podemos resolver muitas respostas de programação com muita facilidade.