>>203
例えば、

struct Show {
void operator()(int i) const {
cout << i << ' ';
}
};

と定義しておいて、

vector<int> v;
......
for_each(v.begin(), v.end(), Show());

のように使える。

C++標準ライブラリのP136〜137に次のような項目があります。
1.関数オブジェクトはスマート関数である。
2.関数オブジェクトはそれぞれ型を持つ。
3.関数オブジェクトは、たいていは通常の関数より高速である。