외부 값을 값 또는 참조로 보관한다.
즉석 함수 객체
람다는 캡처한 상태와 호출 코드를 묶어 알고리즘에 넘기는 객체다
람다 표현식은 짧은 함수처럼 보이지만 컴파일러가 이름 없는 함수 객체로 바꾼다. 그래서 상태를 담을 수 있고, STL 알고리즘에는 predicate나 action으로 전달된다.
호출될 때 들어오는 요소의 모양이다.
필요할 때 결과 타입을 명시한다.
함수 객체의 operator()가 수행할 일이다.
캡처 목록이 비어 있으면 상태 없는 함수 객체에 가깝고, 값이 있으면 내부 멤버를 가진 객체가 된다.
값 복사
참조 연결
기본 캡처
컴파일러는 람다를 고유 타입의 객체로 보고, 본문은 호출 연산자 내부 코드처럼 다룬다.
closure
operator()
inline 후보
sort에는 비교 기준, for_each에는 반복 동작, find_if에는 찾을 조건을 짧게 전달한다.
sort
for_each
find_if