Funktorem lub inaczej obiektem funkcyjnym nazywamy takie obiekty, które mogą zostać użyte jak zwykła funkcja.
Bytami takimi mogą być np. instancje klas z przeciążonym operatorem().
Dzięki traktowaniu klasy jak zwykłej funkcji możemy wpłynąć na jej wewnętrzny stan.
class FuncClass {
public:
int i = 0;
void operator() (int __arg0) {
i += __arg0;
}
};