1 definition by Sam Johnston

A functor, or function object, is a class in C++ with the () operator overloaded. Functors are used a lot in the standard library to do custom comparisons. They're used in place of function pointers because sometimes you need to store a value or remember something (ie. put the functor into a special 'state' for whatever purpose), a functor can do this, a function pointer can't (without messing with global variables).
class over5 { // this class is the functor
bool operator() (int x) {
return x > 5;
}
};

std::list<int> L;

... // put a bunch of ints onto the list

over5 o5;
std::find_if(L.begin(), L.end(), o5);

// o5 will have its overloaded () operator called to check if the element in L is over 5.
by Sam Johnston July 07, 2005

Free Daily Email

Type your email address below to get our free Urban Word of the Day every morning!

Emails are sent from daily@urbandictionary.com. We'll never spam you.

×