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