programming/programming general
[C++] EMCP Lambda expression
반응형
Lambda expression
: 하나의 표현식
소스 코드의 일부
std::find_if(container.begin(), container.end(),
[](int val) { return 0 < val && val < 10; });
Closure
: 람다에 의해 만들어진 실행시점 객체
capture mode에 따라, closure가 capture한 자료의 복사본을 가질 수동 ㅣㅆ고,
그 자료에 대한 참조를 가질 수동 ㅣㅆ음
위 ex.에서 fin_if 호출 시 closure는 실행시점에서 셋째 인수로 전달되는 객체
Closure clss
: closure를 만드는 데 쓰인 class
각각의 Lambda에 대해 compiler는 고유한 closure class를 만들어 냄
Lambda 안의 문장들은 해당 closure class의 member 함수들 안의 실행 가능한 명령들이 됨
반응형
'programming > programming general' 카테고리의 다른 글
[C++] EMCP Item 20: use std::weak_ptr for std::shared_ptr-like pointers that can dangle. (0) | 2018.03.25 |
---|---|
[C++] EMCP Item 19: 자원에 대한 공유 소유권을 위해서는 shared_ptr을 사용하라 (0) | 2018.03.25 |
[C++] Smart Pointers (0) | 2018.03.25 |
[C++] Atomic class 구현 (0) | 2015.07.04 |
댓글