프로그래밍/C,C++

람다(lambda)

MAKGA 2018. 4. 11. 19:02
320x100

람다 표현식 : [캡쳐블록] (파라미터) mutable 익셉션목록 -> 리턴타입 { 함수바디 }


캡쳐블록 : 람다 함수 안에서 참조할 바깥 변수를 지정한다.

[=] 모든 변수를 값으로서 복제하여 캡쳐한다.

[&] 모든 변수를 참조로서(원본을 수정) 캡쳐한다.


[&x] 변수 x만 참조로서 캡쳐한다.

[x] 변수 x만 값으로서 캡쳐한다.

[=, &x, &y] 모든 변수를 디폴트 값으로 캡쳐하되, x와 y는 참조로 캡쳐한다.

[&, x] 모든 변수를 디폴트 참조로 캡쳐하되, x는 값으로 캡쳐한다.

[&x, &x] 같은 변수를 반복해서 지정하는 것은 허용하지 않는다.


파라미터 : 표현식에서 넘겨받을 파라미터 목록을 정의한다.

mutable : 캡쳐받는 변수를 수정할 수 있다.

익셉션목록 : 바디 안에서 throw 할 수 있는 익셉션의 종류를 지정한다.

리턴 타입 : 람다 표현식의 리턴 타입을 지정한다.


320x100

'프로그래밍 > C,C++' 카테고리의 다른 글

문자열과 정규 표현식  (0) 2018.04.15
함수 객체  (0) 2018.04.15
STL 알고리즘  (0) 2018.04.02
STL 컨테이너  (0) 2018.04.02
예외처리(exception)  (0) 2018.04.01