C++11 lambda

람다는 필요한 자리에서 바로 만드는 작은 함수 객체

이름 있는 함수나 별도 함수 객체 클래스를 만들지 않고, STL 알고리즘 옆에 짧은 동작을 바로 적습니다.

[캡처](매개변수) -> 반환타입 {
  함수 본문
}

[캡처]

외부 변수를 람다 안에서 쓸지, 복사할지, 참조할지 정합니다.

(매개변수)

일반 함수처럼 호출할 때 받는 값을 적습니다.

-> 반환타입

대부분 생략하고 컴파일러 추론에 맡깁니다.

{ 본문 }

한 번 쓸 비교식, 조건식, 변환식을 가까운 곳에 둡니다.

auto와 함께 쓰는 이유: 람다의 실제 타입은 컴파일러가 만든 고유한 익명 타입이라 보통 auto로 받습니다.