Descrição
Ele invoca o destino de função chamável armazenado com os parâmetros args.
Declaração
A seguir está a declaração para std :: function :: function :: operator ()
R operator()( Args... args ) const;
C ++ 11
R operator()( Args... args ) const;
Parâmetros
args - parâmetros a serem transmitidos ao destino de função chamável armazenado.
Valor de retorno
Ele retorna nenhum se R for nulo. Caso contrário, o valor de retorno da invocação do objeto chamável armazenado.
Exceções
noexcept: Não lança nenhuma exceção.
Exemplo
No exemplo abaixo para std :: function :: operator ().
#include <iostream>
#include <functional>
void call(std::function<int()> f) {
std::cout << f() << '\n';
}
int normal_function() {
return 50;
}
int main() {
int n = 4;
std::function<int()> f = [&n](){ return n; };
call(f);
n = 5;
call(f);
f = normal_function;
call(f);
}
A saída deve ser assim -
4
5
50