ExpertiDict

C++ · Intermediário · Inglês · Técnico

std function

ˌɛs.tiː.ˈdiː ˈfʌŋk.ʃənsubstantivo

Invólucro polimórfico da biblioteca padrão que guarda qualquer objeto chamável com uma assinatura dada, como função, lambda ou functor. Permite armazenar callbacks com tipo fixo.

Onde usar

Usado em callbacks, tabelas de comandos e eventos, quando o tipo concreto não importa. Tem custo de indireção e possível alocação, então nem sempre serve em laços quentes.

Em código

std::function<int(int)> f = [](int x) {
  return x * 2;
};
std::cout << f(4);  // 8

Exemplos

Store the callback in a std function member.

Guarde o callback em um membro std function.

Calling an empty std function throws.

Chamar um std function vazio lança exceção.

Cuidado

Não é lambda nem ponteiro de função; é um contêiner de chamáveis, e chamar um std::function vazio lança bad_function_call.

Sinônimos

callback

Veja também

Todos os termos de C++