C++11からSTLにfunctionが追加されました。これは関数やクラスのメソッドなどを保持できるオブジェクトです。C#で言うSystem.ActionとかFuncと同じです。典型的な使い方一例はこちら: #include <functional> int add( int a, int b ) { return a + b; } int main() { std::function< int( int , int ) > func = add; // 関数を代入 int sum = func( 100, 200 ); // addが呼ばれる }テンプレート引数の関数の型を記述すると、その型の関数を保持できるようになります。 このfunctionにはこちらもC++11で使えるようになったラムダ式も代入できます。ラムダ式というのは、ざっくり言えばコードの中に埋め込む事が出来る名前の無い関数
