सबसे पहले, SO पर समान विषय वाले कम से कम 4-5 विषय थे। मैंने उनमें से प्रत्येक को पढ़ा और मुझे नहीं लगता कि वे वास्तव में इस विशिष्ट मुद्दे के साथ मेरी मदद करते हैं। अगर किसी और को एक डुप्लिकेट प्रश्न मिलता है तो मैं क्षमा चाहता हूं। मैंने इसे पोस्ट करने से पहले खोज का अपना हिस्सा किया है, क्योंकि यह एक बहुत ही आम प्रश्न की तरह लगता है।ग्लोबल न्यू को सही तरीके से कैसे बदलें और ऑपरेटरों को हटाएं
मैं Windows 7.
पर विजुअल स्टूडियो .NET 2003 का उपयोग कर रहा मैं अपने स्वयं के कस्टम करने के लिए नए/उस बिंदु को नष्ट की अपने ही भार के निदान के लिए है malloc() और() करने के लिए कहता है। मेरा नया/हटा ओवरलोड एक हेडर फ़ाइल में है जिसे मैंने कुछ फाइलों में शामिल किया है।
समस्या यह है कि कोड बेस बहुत अधिक स्पेगेटी है और यह सुनिश्चित करने का कोई आसान तरीका नहीं है कि इन अधिभारों का उपयोग सबकुछ से किया जाए। ब्लैक-बॉक्स वाले तृतीय पक्ष पुस्तकालयों में शामिल हैं। हम हर जगह एसटीएल का भी उपयोग करते हैं।
मेरे परीक्षणों में मैंने पाया है कि एसटीएल अभी भी अपने स्वयं के नए/हटाए गए कॉल और मानक एमएसवीसी नई/हटाएं कॉल पर कॉल कर रहा है।
हजारों अन्य फ़ाइलों में मेरी हेडर फ़ाइल को शामिल करना यथार्थवादी प्रतीत नहीं होता है, जो कि बहुत अधिक समय लेगा। क्या कोई भी वैश्विक रूप से नए/हटाए जाने के तरीके को ठीक से और प्रभावशाली तरीके से ओवरलोड करने के बारे में कुछ सुझाव दे सकता है, इसलिए सब कुछ मेरे कस्टम मेमोरी मैनेजर का उपयोग करता है?
आप एक पूर्व संकलित हैडर कि ज्यादातर जमीन को कवर करना चाहिए में विश्व स्तर पर ऑपरेटरों को परिभाषित करते हैं। वैकल्पिक रूप से आप सीआरटी ढेर कार्यों का उपयोग कर सकते हैं यदि यह स्मृति रिसाव का पता लगाने के लिए है। – AJG85