Junior — Middle
Můžete vysvětlit, co se rozumí pod pojmem funktor v programování?
sobes.tech AI
Odpověď od AI
V programování, zejména v C++, je funktor objekt, který lze volat jako funkci. Obvykle je to třída nebo struktura s přetíženým operátorem operator(). To umožňuje používat objekty jako funkce, což je užitečné pro předávání chování algoritmům.
Příklad funktoru 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 se často používají v standardní knihovně k nastavení chování algoritmů.