https://learn.microsoft.com/ko-kr/cpp/cpp/lambda-expressions-in-cpp?view=msvc-170
▣ 람다 : c++11 표준부터 지원, 람다 표현식, 람다 함수, 이름 없는 함수
▣ 람다 사용방법 : [캡쳐](매개변수){함수코드;};(호출인자);
[](매개변수){함수코드}(호출인자);
[]{함수코드;};
[]{함수코드;};
[](매개변수){함수코드;};
auto n = [](매개변수){함수코드;} ;
auto n = [](매개변수) -> 반환형 {함수코드;};
▣ (;) 세미콜론에 위치는 문장 끝, 함수 끝 부분에 넣어야 한다. 람다식도 동일하다.
▣ 캡처 : 람다 외부 정의되어 있는 변수, 상수를 람다 내부에 사용할 여부를 지정
[=](){}() : 모든 람다 외부 변수를 복사해서 람다 함수 내부에서 사용가능
[&](){}() : 모든 람다 외부 변수를 참조해서 람다 내부 함수에서 사용가능
[n1, n2](){}() : n1, n2를 복사해서 람다 함수 내부에서 사용가능
[&n1, &n2](){}() : n1, n2를 참조해서 람다 함수 내부에서 사용가능
[n1, &n2](){}() : n1는 복사하고 n2는 참조해서 람다 함수 내부에서 사용가능
[=, &n2](){}() : 모든 외부 변수는 복사해서 사용 가능하지만 n2는 참조해서 람다 함수 내부에서 사용가능
[&, n2](){}() : 모든 외부 변수는 참조해서 사용 가능하지만 n2는 복사해서 람다 함수 내부에서 사용가능
'[ C++ ] > - C++ 문법정리' 카테고리의 다른 글
C++ 27 [파일입출력] (4) | 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 |
댓글