Junior — Middle
¿Podría explicar qué se entiende por functor en programación?
sobes.tech AI
Respuesta de la IA
En programación, especialmente en C++, un functor es un objeto que se puede llamar como una función. Normalmente, es una clase o estructura con un operador operator() sobrecargado. Esto permite usar objetos como funciones, lo cual es conveniente para pasar comportamientos a algoritmos.
Ejemplo de functor en 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); // Imprime 30
return 0;
}
Los functors se usan a menudo en la biblioteca estándar para configurar el comportamiento de los algoritmos.