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.