Sobes.tech
Junior — Middle

Ar galėtumėte paaiškinti, kas yra funktorius programavime?

sobes.tech AI

Atsakymas iš AI

Programavime, ypač C++, funktorius yra objektas, kurį galima iškviesti kaip funkciją. Paprastai tai yra klasė arba struktūra su perrašytu operator() operatoriumi. Tai leidžia naudoti objektus kaip funkcijas, kas patogu perduodant elgseną algoritmams.

C++ pavyzdys:

#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); // Išves 30
    return 0;
}

Funkcijos dažnai naudojamos standartinėje bibliotekoje algoritmų elgsenai konfigūruoti.