Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++14의 일반화된 람다 표현식

<시간/>

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