सी ++ में हमारे पास संसाधन अधिग्रहण प्रारंभ है (RAII) पैटर्न, जो संसाधन प्रबंधन को बहुत सरल बनाता है। विचार किसी भी प्रकार के संसाधनों के लिए कुछ रैपिंग ऑब्जेक्ट प्रदान करना है। रैपिंग ऑब्जेक्ट का विनाशक तब संसाधनों को जारी करने के लिए ज़िम्मेदार होता है, जब यह अपने दायरे से बाहर हो जाता है। उदाहरण के लिए:जावा में संसाधन प्रबंधन की तरह सी ++ संभव है
{
auto_ptr<int> smartPointer = new int;
// some other code
} // the memory allocated for the int is released automatically
// by smartPointer's destructor
सबसे आम उपयोग स्मार्ट पॉइंटर्स हैं। लेकिन, कई अन्य प्रकार के संसाधन हैं (फाइलें, म्यूटेक्स, सॉकेट इत्यादि) जिन्हें ठीक उसी तरह प्रबंधित किया जा सकता है।
जावा में मेमोरी प्रबंधन को परेशान करने की आवश्यकता नहीं है। लेकिन अन्य सभी प्रकार के संसाधन बने रहते हैं। अंत में ब्लॉक है, लेकिन इसका उपयोग काफी असुविधाजनक है, खासकर जब कई अलग-अलग अपवादों को फेंक दिया जा सकता है।
तो, मेरा सवाल यह है कि यदि कोई जावा पैटर्न है जो सी ++ आरएआईआई के बराबर कार्यक्षमता प्रदान करता है? यदि नहीं, तो कृपया इस क्षेत्र में अपनी सर्वोत्तम प्रथाओं को साझा करें (आखिरकार, जब तक कि इसका उपयोग कुछ परिष्कृत तरीके से नहीं किया जाता)।
इस प्रश्न को देखें: http://stackoverflow.com/questions/194261/raii-in-java-is-resource-disposal-always-so-ugly-was-i-had-a-dream – Eclipse
इसके अलावा: http : //stackoverflow.com/questions/477399/does-java-support-raii-deterministic-destruction – Eclipse
"जो संसाधन प्रबंधन को बेहद सरल बनाता है" क्या आप मुझसे मजाक कर रहे हैं ?? – hasen