c++ - Any RAII template in boost or C++0x -
क्या RAII
के लिए कोई टेम्पलेट उपलब्ध है? इसमें scoped_ptr
, shared_ptr
जैसी कक्षाएं हैं, जो मूल रूप से सूचक पर काम करती हैं। क्या उन वर्गों को पॉइंटर्स के अलावा अन्य किसी भी अन्य संसाधनों के लिए इस्तेमाल किया जा सकता है क्या कोई टेम्पलेट है जो सामान्य संसाधनों के साथ काम करता है।
उदाहरण के लिए कुछ संसाधन जो एक दायरे की शुरुआत में हासिल किया गया है और किसी भी तरह से गुंजाइश के अंत में जारी किया जाना चाहिए। अधिग्रहण और रिहाई दोनों कुछ कदम उठाते हैं। हम एक टेम्पलेट लिख सकते हैं जो दो काम करता है (या शायद एक ऑब्जेक्ट) जो कि यह कार्य करते हैं मैंने इसे सोचा कि यह कैसे प्राप्त किया जा सकता है, मैं सोच रहा था कि ऐसा करने के लिए कोई भी मौजूदा तरीके हैं
संपादित करें:
कैसे के बारे में एक के लिए सी ++ 0x समर्थन के साथ लैम्ब्डा फ़ंक्शन
shared_ptr
निर्दिष्ट करने की संभावना प्रदान करता है जब पॉइंटर को नष्ट करने की आवश्यकता होती है, तो डेलीटर को लागू किया जाएगा और जो भी सफाई कार्य आवश्यक हैं वह कर सकते हैं। इस तरह से सरल पॉइंटर्स की तुलना में अधिक जटिल संसाधनों को इस स्मार्ट पॉइंटर वर्ग के साथ प्रबंधित किया जा सकता है।
Comments
Post a Comment