#include <iostream> #include <functional> using namespace std; int main() { // ラムダ式で無名関数をつくれるようになった。 // functionで受け取り可能。 // [キャプチャ1, キャプチャ2, ...](引数1, 引数2, ...) { 処理 } という風に記述。 function<int(int, int)> func = [](int a, int b) { return a + b; }; int result = func(1, 2); cout << result << endl; // もちろん、functionで受け取らなくてもそのまま実行も可能。 []() { cout << "Hoge!" << endl; }(); // 引数がない場合、()は省略可能。 [] { cout << "Fuga!" << endl; }(); return 0; }