기본형태는 다음과 같다.
[capture] (params) ->return {body}
람다 표현식은 하나의 객체이므로 아래와 같이 auto로 선언할 수 있다.
auto f1 = [](int a, int b) { return a + b; };
외부 변수를 람다식 내부에서 사용하고 싶을 때 이용하는 부분이다.
외부 변수의 값을 그대로 복사해서 사용할 수 있다.
auto f1 = [=]() {
int cp_x = x;
double cp_y = y;
string cp_s = s;
return x + y;
}();
cout << "f1 = " << f1 << '\\n';
f1 = 15.4
다음 코드를 보자.