2013-12-23 C++11メモ @ std::functionで関数を汎用的に呼び出す C++11 std::functionとは C++11では以下の様に複数の種類の関数が存在します。 通常の関数 ラムダ関数 関数オブジェクト クラスのメンバ関数 C++11までは通常の関数ポインタとメンバ関数ポインタの呼び出し方が異なるなど混乱することもありましたがstd::functionはこれらの関数の種類を気にせずに汎用的にラップして呼び出すことができます。関数をテーブル化したい、保持したい、引数や返り値で渡したいときなどに非常に便利です。 サンプル #include <functional> // 通常の関数 void normalFunction() { std::cout << "normalFunction" << std::endl; } void functionTest() {
![C++11メモ @ std::functionで関数を汎用的に呼び出す - ラーメンは味噌汁](https://cdn-ak-scissors.b.st-hatena.com/image/square/ac716d752df23b7b0884cc2d63963733bc295a05/height=288;version=1;width=512/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F51Pwt65tXnL._SL160_.jpg)