• Source
    1. #include <iostream>
    2. #include <functional>
    3. using namespace std;
    4.  
    5.  
    6. int main() {
    7. // ラムダ式で無名関数をつくれるようになった。
    8. // functionで受け取り可能。
    9. // [キャプチャ1, キャプチャ2, ...](引数1, 引数2, ...) { 処理 } という風に記述。
    10. function<int(int, int)> func = [](int a, int b) {
    11. return a + b;
    12. };
    13.  
    14. int result = func(1, 2);
    15. cout << result << endl;
    16.  
    17.  
    18. // もちろん、functionで受け取らなくてもそのまま実行も可能。
    19. []() {
    20. cout << "Hoge!" << endl;
    21. }();
    22.  
    23. // 引数がない場合、()は省略可能。
    24. [] {
    25. cout << "Fuga!" << endl;
    26. }();
    27.  
    28. return 0;
    29. }