본문 바로가기
[ C++ ]/- C++ 문법정리

C++ 25 [람다 표현식]

by MRG 2023. 4. 28.
728x90
반응형

https://learn.microsoft.com/ko-kr/cpp/cpp/lambda-expressions-in-cpp?view=msvc-170 

 

C++ 람다 식

자세한 정보: C++의 람다 식

learn.microsoft.com

 

▣ 람다 : c++11 표준부터 지원, 람다 표현식, 람다 함수, 이름 없는 함수

 

 

 

▣ 람다 사용방법 : [캡쳐](매개변수){함수코드;};(호출인자);

[](매개변수){함수코드}(호출인자);

[]{함수코드;};

[]{함수코드;};

[](매개변수){함수코드;};

auto n = [](매개변수){함수코드;} ;

auto n = [](매개변수) -> 반환형 {함수코드;};

▣ (;) 세미콜론에 위치는 문장 끝, 함수 끝 부분에 넣어야 한다. 람다식도 동일하다.

 

▣ 캡처 : 람다 외부 정의되어 있는 변수, 상수를 람다 내부에 사용할 여부를 지정

[=](){}() : 모든 람다 외부 변수를 복사해서 람다 함수 내부에서 사용가능

[&](){}() : 모든 람다 외부 변수를 참조해서 람다 내부 함수에서 사용가능

[n1, n2](){}() : n1, n2를 복사해서 람다 함수 내부에서 사용가능

[&n1, &n2](){}() : n1, n2를 참조해서 람다 함수 내부에서 사용가능

[n1, &n2](){}() : n1는 복사하고 n2는 참조해서 람다 함수 내부에서 사용가능

[=, &n2](){}() : 모든 외부 변수는 복사해서 사용 가능하지만  n2는 참조해서 람다 함수 내부에서 사용가능

[&, n2](){}() : 모든 외부 변수는 참조해서 사용 가능하지만  n2는 복사해서 람다 함수 내부에서 사용가능

728x90
반응형

'[ C++ ] > - C++ 문법정리' 카테고리의 다른 글

C++ 27 [파일입출력]  (2) 2023.05.09
C++ 26 [포맷플래그 입출력]  (0) 2023.05.03
C++ 24 [STL, map]  (0) 2023.04.26
C++ 23 [STL, list]  (0) 2023.04.26
C++ 22 [STL, vector]  (0) 2023.04.25

댓글