Computer >> Máy Tính >  >> Lập trình >> C ++

Biểu thức Lambda tổng quát trong C ++ 14

Trong C ++ 11, lambda đã được giới thiệu. Lambdas về cơ bản là một phần của mã, có thể được lồng vào bên trong các câu lệnh gọi hàm khác. Bằng cách kết hợp các biểu thức lambda với từ khóa auto, chúng có thể được sử dụng sau này.

Trong C ++ 14, các biểu thức lambda này được cải thiện. Ở đây chúng ta có thể lấy lambda tổng quát. Ví dụ:nếu chúng ta muốn tạo một lambda, có thể thêm số nguyên, thêm số, cũng nối các chuỗi, thì chúng ta phải sử dụng lambda tổng quát này.

Cú pháp của biểu thức lambda trông giống như sau:

[](auto x, auto y) { return x + y; }

Hãy để chúng tôi xem một ví dụ để hiểu rõ hơn.

Ví dụ

#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;
}

Đầu ra

Sum of integers: 13
Sum of floats: 8.389
Concatenate Strings: Hello World