<개요> 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 를 통해 캡쳐하여 이를 람다에 쓸 수 있는 점이 이점이라고 작성돼 있습니다.
|