Top Definition
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

The Urban Dictionary Mug

Lotsa space for your liquids.

Buy the mug

The Urban Dictionary Mug

Lotsa space for your liquids.

Buy the mug

The Urban Dictionary Mug

Your favorite word on a white mug.

Create a mug

The Urban Dictionary Mug

One side has the word, one side has the definition. Microwave and dishwasher safe. Lotsa space for your liquids.

Buy the mug

The Urban Dictionary T-Shirt

Soft and offensive. Just like you.

Buy the t-shirt

The Urban Dictionary T-Shirt

Smooth, soft, slim fit American Apparel shirt. Custom printed. 100% fine jersey cotton, except for heather grey (90% cotton).

Buy the t-shirt