関数ポインタアダプタ std::ptr_fun関数
http://www.geocities.jp/ky_webid/cpp/library/025.html
メンバ関数ポインタが使用可能なのなら関数ポインタだって使用可能です。
ということで関数ポインタを渡せるようにしたのがstd::ptr_funという関数アダプタです。
#include <iostream> #include <functional> #include <vector> #include <algorithm> using std::cout; using std::endl; void output (int num) { cout << num << endl; } int main () { std::vector<int> data; data.push_back(10); data.push_back(20); data.push_back(30); std::for_each(data.begin(),data.end(),std::ptr_fun( output ) ); return 0; }
$ main 10 20 30
迷うところは無いですね。簡単です。