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.