Junior — Middle
Poderia explicar o que se entende por functor na programação?
sobes.tech IA
Resposta da IA
Na programação, especialmente em C++, um functor é um objeto que pode ser chamado como uma função. Normalmente, é uma classe ou estrutura com um operador operator() sobrecarregado. Isso permite usar objetos como funções, o que é conveniente para passar comportamentos para algoritmos.
Exemplo de functor em C++:
#include <iostream>
struct MultiplyBy {
int factor;
MultiplyBy(int f) : factor(f) {}
int operator()(int x) const {
return x * factor;
}
};
int main() {
MultiplyBy multiplyBy3(3);
std::cout << multiplyBy3(10); // Vai imprimir 30
return 0;
}
Os functors são frequentemente usados na biblioteca padrão para configurar o comportamento dos algoritmos.