C++11에서 람다가 도입되었습니다. 람다는 기본적으로 다른 함수 호출 문 안에 중첩될 수 있는 코드의 일부입니다. 람다식을 auto 키워드와 결합하면 나중에 사용할 수 있습니다.
C++14에서는 이러한 람다 식이 개선되었습니다. 여기에서 일반화된 람다를 얻을 수 있습니다. 예를 들어 정수를 추가하고 숫자를 추가하고 문자열을 연결할 수 있는 람다를 만들고 싶다면 이 일반화된 람다를 사용해야 합니다.
람다 식의 구문은 다음과 같습니다.
[](auto x, auto y) { return x + y; }
더 나은 아이디어를 얻기 위해 한 가지 예를 살펴보겠습니다.
예시
#include <iostream> #include <string> using namespace std; main() { auto add = [](auto arg1, auto arg2) { //define generalized lambda return arg1 + arg2; }; cout << "Sum of integers: " << add(5, 8) << endl; cout << "Sum of floats: " << add(2.75, 5.639) << endl; cout << "Concatenate Strings: " << add(string("Hello "), string("World")) << endl; }
출력
Sum of integers: 13 Sum of floats: 8.389 Concatenate Strings: Hello World