Sobes.tech
Junior — Middle

Ați putea explica ce înseamnă termenul de functor în programare?

sobes.tech AI

Răspuns de la AI

În programare, în special în C++, un functor este un obiect care poate fi apelat ca o funcție. De obicei, este o clasă sau structură cu un operator operator() suprascris. Acest lucru permite utilizarea obiectelor ca funcții, ceea ce este convenabil pentru transmiterea comportamentului către algoritmi.

Exemplu de functor în 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); // Va afișa 30
    return 0;
}

Functors sunt adesea folosiți în biblioteca standard pentru a configura comportamentul algoritmilor.