नई ऑपरेटर को ओवरराइड करके आपको किस तरह की कार्यक्षमताओं (डीबगिंग या नहीं) के लिए उपयोगी लगता है?'नया' ऑपरेटर ओवरराइड करने से आप क्या उपयोगी कार्यक्षमता प्राप्त कर सकते हैं?
उत्तर
मुख्य कारण मैं new
ओवरलोड लिया है प्रदर्शन के लिए किया गया है। एक उदाहरण बड़ी संख्या में छोटी वस्तुओं को आवंटित कर रहा है, जो अक्सर एक सामान्य उद्देश्य आवंटक के साथ काफी धीमी होती है, लेकिन इसे कस्टम आवंटक के साथ लॉट में अक्सर सुधार किया जा सकता है।
अच्छा, कस्टम मेमोरी प्रबंधन और डिबगिंग। यह इसके बारे में है, और आप इससे भी बाहर निकल सकते हैं।
आप लाइब्रेरी कि कुछ वस्तुओं को प्रारंभ करने में कुछ अतिरिक्त चरण की आवश्यकता है विकसित हो सकता है, अधिक भार आपको लगता है कि कुछ भद्दा अतिरिक्त कॉल के बिना कि उपयोगकर्ता अन्यथा ऊपर टाइप करने के खत्म होगा करने के लिए अनुमति देता है।
आप SSE/SIMD साथ काम कर रहे हैं, तो आप आम तौर पर अपनी स्मृति की जरूरत है 4-शब्द-गठबंधन होने के लिए है, तो आप प्रासंगिक वर्गों के लिए new
ओवरलोड हो सकता है memalign()
उपयोग करने के लिए (जबकि डिफ़ॉल्ट new
कुछ सादे के बराबर कर रही है malloc()
)।
ऐसे कई मामले हैं जब ऑपरेटर को ओवरराइड करना आवश्यक है। जैसा कि किसी ने कहा, यह मुख्य रूप से कस्टम मेमोरी प्रबंधन के लिए है।
मुख्य उदाहरण है कि मैं व्यक्तिगत रूप से एम्बेडेड प्रणाली के लिए था के साथ पेश किया है।
एक एम्बेडेड सिस्टम में, गतिशील स्मृति आवंटन आमतौर पर एक समस्या है। यहां तक कि यदि आपके पास एक एम्बेडेड ऑपरेटिंग सिस्टम है जो इसका समर्थन करता है, तो आपके पास सभी प्रकार के मुद्दे हैं जिनसे आपको निपटना पड़ सकता है (उदाहरण के लिए, एम्बेडेड सिस्टम को अक्सर अपने पीसी समकक्षों की तुलना में अधिक निर्धारक होना चाहिए। इसके अलावा, आप सिस्टम पर काम कर रहे हैं यह एक समय में वर्षों तक होना चाहिए, जिस स्थिति में स्मृति विखंडन एक वास्तविक समस्या है)।
इस वजह से, एम्बेडेड सिस्टम पूरी तरह से गतिशील स्मृति आवंटन की अनुमति नहीं देने के लिए करते हैं।
बेशक, सबसे सॉफ्टवेयर परियोजनाओं में आप जरूरत गतिशील स्मृति के कुछ रूप है, और उन मामलों में आप आमतौर पर अपने स्वयं के (यानी, कि सभी धागे से स्मृति के लिए पूछ सकते स्मृति पूल के कुछ प्रकार है, आदि को लागू)।
सी ++ परियोजनाओं के लिए सबसे आसान तरीके से इस हाथ से लुढ़का गतिशील स्मृति आवंटन का उपयोग करें, मैंने देखा है परियोजनाओं परियोजना के आवंटन पद्धति का उपयोग करने ऑपरेटर नई ओवरराइड बनाने के लिए।
- 1. क्या आप एफ # में एक ऑपरेटर (***) परिभाषित कर सकते हैं?
- 2. क्या आप एक रूपांतरण ऑपरेटर के प्रकार से अपवाद प्राप्त कर सकते हैं?
- 3. डब्ल्यूपीएफ, क्या आप डिफ़ॉल्ट विंडोज रंग प्राप्त कर सकते हैं?
- 4. क्या आप इन दो तरीकों से एक सामान्य कार्यक्षमता को दोबारा कर सकते हैं?
- 5. आप खिड़की की एक ओवरराइड संपत्ति क्यों हटा सकते हैं?
- 6. क्या आप इंटेलिसेंस में अपवाद प्रदर्शित करने के लिए रीशेपर प्राप्त कर सकते हैं?
- 7. क्या आप जावास्क्रिप्ट से HTTP पैच अनुरोध कर सकते हैं?
- 8. क्या आप पाइथन में बिल्टिन को विस्तारित करते समय जादू विधि को ओवरराइड कर सकते हैं?
- 9. क्या आप कक्षा के कन्स्ट्रक्टर को ओवरराइड कर सकते हैं और विरासत में उपयोग कर सकते हैं?
- 10. क्या आप अनुरोध चर से टाइमज़ोन निर्धारित कर सकते हैं?
- 11. सी में आप क्या नहीं कर सकते हैं जिसे आप उद्देश्य-सी में कर सकते हैं?
- 12. क्या आप कस्टम TForm/संवाद में MessageDlg कॉल ओवरराइड कर सकते हैं?
- 13. क्या आप जावास्क्रिप्ट से सी # फ़ंक्शन कॉल कर सकते हैं?
- 14. आप रूबी केस समानता ऑपरेटर को कैसे ओवरराइड करते हैं? (===)
- 15. आईओएस 5: क्या आप विशिष्ट कक्षाओं में यूआईपीपीरेंस अनुकूलन को ओवरराइड कर सकते हैं?
- 16. आप UIElement के अभिभावक को कैसे प्राप्त कर सकते हैं?
- 17. सी # में आप कितने वर्ग प्राप्त कर सकते हैं?
- 18. शून्य ऑपरेटर की कार्यक्षमता()()
- 19. आप विधि पैरामीटर के नाम कैसे प्राप्त कर सकते हैं?
- 20. क्या आप रूबी में एक अलियाड विधि को ओवरराइड कर सकते हैं?
- 21. क्या आप पाइथन फ़ंक्शन प्राप्त करने वाले कीवर्ड तर्कों को सूचीबद्ध कर सकते हैं?
- 22. क्या आप स्ट्रीम लेखकों को स्कैला @ सेरियलज़ेबल ऑब्जेक्ट्स में ओवरराइड कर सकते हैं?
- 23. क्या आप [पीसी] पर लिख सकते हैं?
- 24. क्या आप विजेट से मूल जीटीके विंडो प्राप्त कर सकते हैं?
- 25. 'नया' ऑपरेटर
- 26. क्या कर सकते हैं कि sed क्या कर सकते हैं?
- 27. क्या आप मुझे संस्करण नियंत्रण प्रणाली से शुरू करने में मदद कर सकते हैं?
- 28. यदि आप संदर्भ द्वारा अपवाद पकड़ते हैं, तो क्या आप इसे संशोधित कर सकते हैं और पुनर्स्थापित कर सकते हैं?
- 29. क्या आप # परिभाषित स्ट्रिंग अक्षर में परिभाषित कर सकते हैं?
- 30. प्रोटोटाइप विरासत: क्या आप ऑब्जेक्ट.क्रेट को चेन कर सकते हैं?