Sobes.tech
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.