up:: Cpp
source:: C++ のラムダ式 - C++ 言語の基本 - C/C++ 入門
source:: ラムダ式 - cpprefjp C++日本語リファレンス

C++11以降。

auto f = [](){
	cout << "Hello, world!" << endl;
};

最初の[]はキャプチャリスト。定義していた値を、このラムダ式を呼び出した時点で固定する。次にラムダを呼び出したとき書き換えられていても同じ値になる。

#include <iostream>
using namespace std;
 
int main() {
 
  int i = 123;
 
  auto f = [i]() {
    cout << "f(): i = " << i << endl;
  };
 
  f();
 
  i = 999;
 
  f();
}

次の()は引数。ラムダを通常の関数のように呼び出したとき、引数を渡せる。

#include <iostream>
using namespace std;
 
int main() {
  int i = 0;
  auto f = [i](int j) {
    cout << "i = " << i << endl;
    cout << "j = " << j << endl;
  };
 
  i = 1;
  f(i);
}

戻り値は()後に->。型を書き込んで、{}を始めればあとはその形で返せる。
式内でreturnを忘れずに。
ちなみに型書き込みが無くても推論してくれるらしい。

#include <iostream>
using namespace std;
 
int main() {
  auto f = [](int i, int j) -> int {
    return i * j;
  };
 
  cout << f(2, 3) << endl;
}