Expresiones Lambda C ++

Expresiones Lambda C ++

Las expresiones de Lambda son una de las características más poderosas de C++. Lambda se introduce en el 11th versión de C ++ y también está disponible en las versiones de C ++ 14 y 17.

Siempre que necesitemos un puntero de funciones en nuestro programa, en ese caso particular, podemos usar Lambda. Proporciona opciones adicionales al programador C ++ para escribir una definición de función sin definir una función. Ahora discutimos los detalles sobre el concepto de la expresión de Lambda.

Sintaxis lambda

La sintaxis Lambda consta principalmente de tres partes. Ellos son

  1. []
  2. ()

Donde [] se llama lista de captura.

() se llama argumento de función.

se llama cuerpo de funciones.

Los elementos de Lambda

  1. Lista de captura: Aquí, escribimos la expresión o función de lambda, lo que sea requerido en el programa.
  2. Parámetros: También se conoce como Declaración de Lambda. Se puede usar como un caso opcional.
  3. Definición del método: Aquí, explicamos cómo se comportará la función en el programa.

Definir y llamar a una función

int main ()

[] 90 // Captura Lista y parámetro.
cout<< “The coding and expression part of Lambda” << endl ;
(); // La abrazadera abierta y cerrada se invocará en la expresión de Lambda.
regresar 0;

Programación Ejemplo 1

#incluir
usando el espacio de nombres STD;
struct trippleValue // Definir un objeto de función .
int operator () (int value)
valor de retorno * 3;

;
int main ()

TrippleValue TV; // Creación de objetos .
int t = tv (2);
cout<< “ The Cube value is ” << t << endl ;
regresar 0;

Producción

Explicación
Aquí queremos explicar dónde se aplican los lambdas al programa. Para hacer esto, aquí, creamos un objeto de función llamado TV. El nombre de la clase es trippleValue. Entonces creamos el TV de objeto de la clase TrippleValue, que obtendrá un valor y lo convertirá en un valor de cubo. Dentro de la función principal, creamos un TV de objeto y pasamos un valor de 2. Ahora imprima el valor de t; Muestra el resultado 8. Porque el cubo de 2 es 8.

Será observable que los lambdas no se usen en el programa anterior. Ahora se ejecutará el mismo tipo de programa con la ayuda de la expresión de Lambda de una manera muy eficiente en el próximo programa.

Programación Ejemplo 2

#incluir
usando el espacio de nombres STD;
int main ()

auto v = [] (int value) valor de retorno * 2; ; // La expresión de lambda se usa aquí.
int t = v (2);
cout<< << t << endl ;
regresar 0;

Producción

Explicación
Ahora hemos hecho el mismo programa con la ayuda de la expresión de Lambda. Aquí declaramos una variable V que es una variable de tipo automático, donde almacenamos el valor que la expresión lambda devolverá. Hacemos ese cálculo en una sola línea. Ahora pasamos un valor 2 dentro de la variable V y lo almacenamos dentro de la variable T. En la siguiente línea del programa, simplemente imprimimos la variable t. Muestra el resultado 4. A medida que devolvemos un valor dentro de la expresión de lambda como valor * 2.

Programación Ejemplo 3

#incluir
#incluir
#incluir
int main ()

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

Producción

Explicación
Aquí tomamos un vector llamado VC, que toma algunos valores 10, 20, 30 y 40. Queremos cuadrar cada elemento en el vector. Para esto, usamos For_each Loop. Dentro del paréntesis del bucle for_each, usamos una expresión de lambda. Dentro de su cuerpo, simplemente cuadraremos estos valores vectoriales.

Beneficios del uso de lambda

  1. La expresión de lambda aumenta la legibilidad del programa de manera eficiente.
  2. Reduce el no de líneas en el código, y los programas se vuelven más simples. Como resultado, el programador obtiene alivio para escribir menos sin codificación.
  3. La expresión de Lambda no introduce ningún nombre o líneas adicionales para el programa. Aumenta la robustez del programa.
  4. También disminuye la complejidad del tiempo del programa.

Conclusión

Discutir detalles sobre el concepto del tema de expresión de Lambda en C ++, hemos llegado a la conclusión de que es uno de los poderosos conceptos de C++. A través de la expresión de lambda, podemos hacer fácilmente un código de programación de manera eficiente. Si podemos comprender el concepto de lambda y sus usos, entonces con la ayuda de la expresión de lambda, podemos resolver muchas respuestas de programación muy fácilmente.