वे परस्पर अनन्य नहीं हैं। Libgc (Boehm-Reiser-Detlefs संग्राहक) के साथ C++ का उपयोग करने के लिए स्वतंत्र महसूस करें। आप अभी भी आरएआईआई, स्मार्ट पॉइंटर्स और मैन्युअल विलोपन का उपयोग कर सकते हैं, लेकिन जीसी चलने के साथ आप कुछ ऑब्जेक्ट्स को मिटाने के लिए "भूल" सकते हैं।
@ एंडी का जवाब बहुत देर से निपटने वाले संसाधनों के बारे में उत्तर महत्वपूर्ण बिंदु को याद करता है: यह संसाधनों को जारी करने में देरी नहीं है जो कि महत्वपूर्ण रूप से महत्वपूर्ण है, बल्कि रिलीज का आदेश है।
कारण जीसी अच्छी तरह से रिलीज ऑर्डर करने का कारण नहीं है कि यह आवश्यकताओं की आवश्यकताओं (निर्भरताओं) पर एक स्थलीय प्रकार की आवश्यकता होगी और यह एक महंगा एल्गोरिदम है।
फिर भी ओकंपल जीसी में एक दिलचस्प सुविधा है जहां आप किसी ऑब्जेक्ट को फाइनलज़र संलग्न कर सकते हैं। यदि ऑब्जेक्ट पहुंचने योग्य नहीं होता है तो फाइनलर चलाया जाता है, हालांकि ऑब्जेक्ट को हटाया नहीं जाता है (क्योंकि फाइनलर इसे फिर से पहुंच योग्य बना सकता है: उस स्थिति में आप एक और फाइनलर भी संलग्न कर सकते हैं)। ये फाइनलर ऑर्डर करने पर कुछ नियंत्रण प्रदान कर सकते हैं।
-1 प्रश्न गलत है। निर्धारक विनाशकों के साथ कचरा एकत्रित भाषाएं हैं, उदा। .NET पर 'IDISposable' सी #, वीबीएनईटी और एफ # के लिए निर्धारवादी विनाश प्रदान करता है। –