Publicado em: 07/Jul/2019
Atualizado em: 04/Jan/2020
C++

C++ Lambda

Funções de primeira classe

Em programação funcional funções são cidadães de primeira classe, o que significa que elas se comportam com dados e suportam quaisquer operações que a linguagem permita.

Algumas características das funções de primeira classe são:

  • atribuir uma função a uma variável
  • passar uma função como parâmetro para outra função
  • retornar a função como valor de outra função
  • armazenar a função em uma estrutura de dados

Lambdas

Lambdas são funções anônimas (sem um nome) definidas in-place.

1//  1   2                           3                               4
2   [ ] ( ) { std::cout << "Hello from C++ Lambda!" << std::endl; } ( );

Vamos ver o que cada grupo significa:

  • 1 [] lambda introducer ou lambda closure
  • 2 () lista de parâmetros (você pode omitir estes parêntes se a função não receber parâmetros).
  • 3 {} corpo da função lambda
  • 4 () executa a função

Referências

comments powered by Disqus