C++ 11. Expresión “Lambda”

Es una notación simplificada para definir y usar una función anónima, en vez de definir un operator() dentro de una clase, crear una instancia de la misma para luego invocarlo. Particularmente útil cuando deseamos pasar operaciones como argumentos, por ejemplo, caso típico implementaciones de “callbacks”.

Una expresión “lambda” consiste en una secuencia de partes:

  • [ ] Especifica que puede ser usado dentro del cuerpo de la expresión “lambda”, adicionalmente el tipo de acceso por valor o por referencia.
  • ( ) Argumentos requeridos para la expresión “lambda”.
  • mutable Opcional, indica que el cuerpo de la expresión lambda puede modificar el estado del “lambda”.
  • noexcept Opcional.
  • -> type Opcional, tipo de retorno, .
  • { } El cuerpo de la expresión “lambda”, dentro escribiremos el código que se ejecutará.

Ejemplo:

auto test = [](float a, float b) -> float { return a + b;};

 

Esta entrada fue publicada en C++Builder. Guarda el enlace permanente.

Deja un comentario