सी (++) (एवीआर-जीसीसी) में एक एम्बेडेड सिस्टम पर मेनू को लागू करने में, मैं शून्य फ़ंक्शन पॉइंटर के साथ समाप्त हुआ जो तर्क लेता है, और आमतौर पर उनका उपयोग करता है।नल पॉइंटर तर्क कितने महंगा हैं?
// void function prototype
void (*auxFunc)(char *);
कुछ मामलों में (वास्तव में काफी कुछ), समारोह वास्तव में तर्क की जरूरत नहीं है, इसलिए मैं कुछ ऐसा करना होगा:
if (something) doAuxFunc(NULL);
मैं जानता हूँ कि मैं सिर्फ एक को ओवरलोड सकता है अलग-अलग फ़ंक्शन प्रकार, लेकिन मैं वास्तव में ऐसा करने की कोशिश नहीं कर रहा हूं क्योंकि मैं कई ऑब्जेक्ट्स को तुरंत चालू कर रहा हूं और उन्हें हल्का रखना चाहता हूं।
कई फ़ंक्शन प्रोटोटाइप को लागू करने से भी बदतर पॉइंटर्स (जब वे वास्तविक सूचक के लिए हैं) के साथ कई फ़ंक्शन कॉल कर रहे हैं?
प्रोफाइलर क्या कहता है? – zoul
आपको लगता है कि अधिभार "भारी" क्यों हैं? –
@KerrekSB अधिकतर क्योंकि (अपेक्षाकृत) इन वस्तुओं को रखने वाले कई वस्तुएं होंगी, और एम्बेडेड सिस्टम पर स्थान मूल्यवान होगा। इस मामले में एक मेनू परियोजना की मुख्य कार्यक्षमता का एक सहायक हिस्सा है। – falro