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