अपने स्क्रिप्टिंग इंजन की दक्षता बढ़ाने के लिए, फ़ंक्शन पॉइंटर्स को प्रबंधित करने के लिए एसटीएल मैप का लाभ उठाने पर विचार करें। यह दृष्टिकोण विशिष्ट कार्यों को लागू करने के लिए लंबे सशर्त कथनों की आवश्यकता को समाप्त करता है। स्क्रिप्टफ़ंक्शन)(शून्य); // फ़ंक्शन पॉइंटर प्रकार
इसके बाद, संबंधित पॉइंटर पते के लिए फ़ंक्शन नाम और स्क्रिप्टफ़ंक्शन मानों का प्रतिनिधित्व करने वाली स्ट्रिंग कुंजियों के साथ स्क्रिप्ट_मैप नामक एक अनऑर्डर किए गए_मैप को परिभाषित करें:
typedef void (*ScriptFunction)(void); // function pointer type
उदाहरण फ़ंक्शन पंजीकरण:
typedef std::unordered_map<:string scriptfunction> script_map;
किसी फ़ंक्शन को कॉल करने के लिए, एक call_script फ़ंक्शन को परिभाषित करें:
void some_function() {}
script_map m;
m.emplace("blah", &some_function);
इस बात पर ज़ोर दें कि आप स्क्रिप्टफ़ंक्शन प्रकार को std::function*whatever*/> में सामान्यीकृत कर सकते हैं ताकि केवल नंगे फ़ंक्शन पॉइंटर्स से अधिक को पूरा किया जा सके।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3