Sobes.tech
Junior — Middle

Můžete vysvětlit, co se rozumí pod pojmem funktor v programování?

sobes.tech AI

Odpověď od AI

V programování, zejména v C++, je funktor objekt, který lze volat jako funkci. Obvykle je to třída nebo struktura s přetíženým operátorem operator(). To umožňuje používat objekty jako funkce, což je užitečné pro předávání chování algoritmům.

Příklad funktoru v 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); // Vypíše 30
    return 0;
}

Funktory se často používají v standardní knihovně k nastavení chování algoritmů.