기본 모양과 사용법

[]{cout<<"인자 없음"<<endl;}; //매개변수 없는 람다
[](int a, int b,int c) {cout<<a<<b<<c<<endl;}; // 매개변수 있는 람다
[]{return 200;}; // 매개변수 없고 반환 있는 람다
[](int a, int b){return a*b}; //매개변수 있고 반환 있는 람다

람다 캡처 사용법

[result1, result2] () {} () // 변수 result1, result2를 복사해서 람다 함수 내부에서 사용
[&result1, &result2] () {} () // 변수 result1, result2 를 참조해서 람다 함수 내부에서 사용
[result3, &result4] () {} () // 변수 result3은 복사 result4는 참조해서 람다 함수 내부에서 사용
[=] () {} () // 모든 외부 변수 result1, result2, result3, result4를 복사해서 람다 함수 내부에서 사용
[&] () {} () // 모든 외부 변수 result1, result2, result3, result4 를 참조해서 람다 함수 내부에서 사용
[&, result3] () {} () // 모든 외부 변수 (result1,2,4)은 참조로 사용하지만, result3만 복사로 사용
[=, &result3] () {} () // 모든 외부 변수 (result1,2,4)은 복사로 사용하지만, result3만 참조로 사용

람다와 auto