सी ++ 11 में, लैम्ब्डा पेश किया गया था। लैम्ब्डा मूल रूप से एक हिस्सा है, जिसे अन्य फ़ंक्शन कॉल स्टेटमेंट के अंदर नेस्ट किया जा सकता है। लैम्ब्डा एक्सप्रेशन को ऑटो कीवर्ड के साथ जोड़कर, बाद में उनका उपयोग किया जा सकता है।
सी ++ 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