C++

람다

Jagbbum 2023. 9. 21. 01:12

lambda 함수는 필요한 정보만을 사용하여 퍼포먼스를 향상하기 위해 사용한다.

C++에서의 형식은 다음과 같다.

[캡처] (매개변수) { 함수 동작 } (호출인자)

위에서 매개변수와 호출인자는 생략이 가능하다.

 

[] (int a, int b) { cout << a + b; } (10, 20)

위와 같으면 a에 10을 b에 20을 대입하여 30을 출력하게 된다.

 

캡처는 람다 내부가 아닌 외부에 정의된 변수나 상수를 람다에서 사용하기 위해 사용한다.

[]에 어떤 값을 넣냐에 따라 값을 참조하거나 복사하거나 차이가 생긴다.

[x]: 변수 x의 값 활용

[&x]: 참조 변수 x 활용

[=]: 모든 변수의 값 활용

[&]: 모든 참조 변수 활용

 

캡처는 댕글링 포인터 버그 발생할 가능성이 높아 유의할 필요가 있다.

'C++' 카테고리의 다른 글

연관 컨테이너와 비순차 연관 컨테이너  (0) 2023.09.23
컨테이너 어댑터와 비트셋 컨테이너  (0) 2023.09.23
순차 컨테이너  (0) 2023.09.22
스코프  (0) 2023.09.21
포인터  (0) 2023.09.20