Lambda 란?
- Anonymouse Function을 정의할 때 사용되는 문법. 함수 객체처럼 사용할 수 있으며, 함수의 이름 없이도 간단하게 코드 블록을 작성할 수 있음. 주로 간결하고 일회성으로 사용되는 함수를 정의하는데 유용
[capture](parameters)-> return_type {
// function body
};
[capture]:
- Lambda가 외부 변수(스코프 외부의 변수)에 접근하는 방식을 정의.
- 예: 변수의 값을 복사, 참조, 또는 아무것도 캡처하지 않을 수 있음,
(parameters):
- Lambda 함수의 매개변수를 정의. 함수와 동일한 방식으로 정의.
-> return_type (생략 가능):
- 반환 타입을 명시적으로 지정합니다. 생략 시 컴파일러가 함수 본문을 보고 자동으로 추론.
{}:
예시
auto PrintMessage = []() {
std::cout << "Hello, Lambda!" << std::endl;
};
PrintMessage(); // 출력: Hello, Lambda!