【初心者歓迎】C/C++室 Ver.8【環境依存OK】
Lokiやめてboostにしてみました.
こちらはmem_fun_ref_tでテンプレートパラメータを渡す必要がないですね.
#include <iostream>
#include <functional>
#include <list>
#include <boost/function.hpp>
#include <boost/bind.hpp>
using namespace std;
struct A {
void show () const {cout << "A" << endl;}
};
struct B {
void show () const {cout << "B" << endl;}
};
typedef boost::function <void ()> Functor;
typedef list <Functor> Functor_Container;
int main () {
A a0; B b0;
Functor_Container fc; fc.push_back (boost::bind (&A::show, a0)); fc.push_back (boost::bind (&B::show, b0));
for_each (fc.begin (), fc.end (), mem_fun_ref (&Functor::operator ()));
return 0;
}