Lambdas vs. , दोनों के बीच का चुनाव बहुरूपता और दक्षता जैसे कारकों से प्रभावित हो सकता है। वितरण और इंजन का उपयोग करके यादृच्छिक संख्याएँ उत्पन्न करने के लिए उपयोग किया जाता है:
// लैम्ब्डा का उपयोग करना ऑटो पासा = [&]() { वापसी वितरण (इंजन); }; // बाइंड का उपयोग करना ऑटो पासा = बाइंड (वितरण, इंजन); व्यवहार। इसका मतलब यह है कि बाइंड का उपयोग अज्ञात प्रकारों के साथ फ़ंक्शन बनाने के लिए किया जा सकता है, जैसा कि नीचे दिखाया गया है:struct foo { टाइपडिफ़ शून्य परिणाम_प्रकार; टेम्प्लेट शून्य ऑपरेटर()(ए ए, बी बी) { cout इस उदाहरण में, ए और बी के प्रकार रनटाइम पर निकाले जाते हैं जब एफ लागू किया जाता है। यह लचीलापन लैम्ब्डा के साथ उपलब्ध नहीं है। ऐसा इसलिए है क्योंकि लैम्ब्डा वेरिएबल्स को सीधे कैप्चर करता है, जबकि बाइंड एक क्लोजर ऑब्जेक्ट बनाता है जो कैप्चर किए गए वेरिएबल्स को संदर्भित करता है। हालाँकि, जब कैप्चर किए गए वेरिएबल बड़े होते हैं या जब फ़ंक्शन को बार-बार कॉल किया जाता है, तो बाइंड लाभ प्रदान कर सकता है। आवेदन का. लैम्ब्डा बहुरूपता प्रदान करते हैं और छोटे, मूल्य-प्रकार के चर को कैप्चर करने में कुशल होते हैं। बाइंड अधिक लचीलापन प्रदान करता है और बड़े या बार-बार बुलाए जाने वाले कार्यों से निपटते समय बेहतर हो सकता है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3