Junior — Middle
Czy mógłbyś wyjaśnić, co oznacza pojęcie funktor w programowaniu?
sobes.tech AI
Odpowiedź od AI
W programowaniu, szczególnie w C++, funktor to obiekt, który można wywołać jak funkcję. Zazwyczaj jest to klasa lub struktura z przeciążonym operatorem operator(). Pozwala to na używanie obiektów jak funkcji, co jest wygodne do przekazywania zachowań do algorytmów.
Przykład funktora w 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); // Wypisze 30
return 0;
}
Funkcje te często są używane w bibliotece standardowej do konfigurowania zachowania algorytmów.