Which of these 2 methods is better and why?
Method 1:
void fun(int i) { //do stuff } ... for_each(a.begin(), a.end(), fun);
Method 2
A functor can be more easily inlined, so it may be a factor to consider when performance is important.