Functor

What is Functor?


1.

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.


0

Random Words:

1. The surreal feeling present the morning after an unexpected phone call with an ex that lasts for 2 hours+, accompanied by but not limite..
1. General of the Three Kingdoms era of China. Extremely strong man with a short temper, Zhang Fei was a frighting warrior to his enemies. ..
1. An Ice Cold Jelly is an ice cold coconut from which you drink the coconut milk. When we were in Jamaica our cab driver was so nice that ..
Book Banner