関数ポインタアダプタ 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

迷うところは無いですね。簡単です。