Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

นิพจน์ทั่วไปของแลมบ์ดาใน C ++ 14


ใน C++11 มีการแนะนำแลมบ์ดา โดยพื้นฐานแล้วแลมบ์ดาเป็นส่วนหนึ่งของโค้ด ซึ่งสามารถซ้อนอยู่ภายในคำสั่งเรียกใช้ฟังก์ชันอื่นๆ การรวมนิพจน์แลมบ์ดากับคีย์เวิร์ดอัตโนมัติ สามารถนำมาใช้ในภายหลังได้

ใน 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