Sobes.tech
Junior — Middle

Potresti spiegare cosa si intende per functor in programmazione?

sobes.tech AI

Risposta dell'AI

Nella programmazione, specialmente in C++, un functor è un oggetto che può essere chiamato come una funzione. Di solito è una classe o struttura con un operatore operator() sovraccaricato. Questo permette di usare gli oggetti come funzioni, il che è comodo per passare comportamenti agli algoritmi.

Esempio di functor in 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); // Stampa 30
    return 0;
}

I functor sono spesso usati nella libreria standard per configurare il comportamento degli algoritmi.