Sobes.tech
Junior — Middle

Môžete vysvetliť, čo sa rozumie pod pojmom funktor v programovaní?

sobes.tech AI

Odpoveď od AI

V programovaní, najmä v C++, je funktor objekt, ktorý možno volať ako funkciu. Zvyčajne je to trieda alebo štruktúra s prepísaným operátorom operator(). To umožňuje používať objekty ako funkcie, čo je vhodné na odovzdávanie správania algoritmom.

Príklad funktora 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 sa často používajú v štandardnej knižnici na nastavenie správania algoritmov.