<개요> C++14 에서 새롭게 수정된 일반화 람다 ( Generic lambda ) 와 초기화 캡쳐 ( init capture ) 에 대해 작성합니다. C++11 람다식 : https://openmynotepad.tistory.com/23 |
<Generic lambda> C++14 에서 람다에 대한 타입 추론과 리턴 타입 추론이 새롭게 추가 되었습니다. 인자에 auto 키워드를 사용할 수 있으며 decltype 을 사용할 수 있습니다.
decltype은 생략이 가능합니다. 위 함수는 이와 같습니다.
일반화 람다의 경우 auto 에 대한 타입 추론을 해야 하는데, 이 타입 추론 방식은 template 과 유사하다고 합니다. (아예 똑같지는 않다고 합니다.) <init capture> 람다는 캡쳐 절에서 임시 변수를 생성하고 초기화 할 수 있습니다. 임시 변수의 타입은 자동 추론 됩니다.
Microsoft docs 에서는 std::unique_ptr 같은 객체를 std::move 를 통해 캡쳐하여 이를 람다에 쓸 수 있는 점이 이점이라고 작성돼 있습니다.
|
'C++ > Modern' 카테고리의 다른 글
C++14) 자료형을 통한 튜플 어드레싱 ( Tuple addressing by type ) (0) | 2019.02.22 |
---|---|
C++14) 자료형이 다른 연관 컨테이너의 조회 ( Heterogeneous lookup in associative containers ) (0) | 2019.02.22 |
C++11) 스마트 포인터 ( auto_ptr, unique_ptr, shared_ptr, weak_ptr) (2) | 2019.02.15 |
C++11) std::reference_wrapper (0) | 2019.02.14 |
C++11) 사용자 정의 리터럴 (0) | 2019.02.13 |