c++ - what is auto_ptr_ref, what it achieves and how it achieves it -
auto_ptr_ref प्रलेखन कहते हैं
यह एक निश्चित वर्ग है जो स्वत: वस्तुओं को पारित करने के लिए और फ़ंक्शन से लौट आए।
क्या कोई यह बता सकता है कि यह कैसे हासिल करने में Auto_ptr_ref मदद करता है। मैं सिर्फ auto_ptr वर्ग और इसके आंतरिक समझना चाहता हूं
यह बल्कि भ्रमित है असल में, auto_ptr_ref
मौजूद है क्योंकि auto_ptr
कॉपी कन्स्ट्रक्टर वास्तव में शब्द के मानक अर्थ में एक प्रतिलिपि निर्माता नहीं है।
प्रतिलिपि कंसल्टेंट्स में आमतौर पर हस्ताक्षर जो इस तरह दिखता है:
एक्स (कॉन्स्ट एक्स एंड बी);
auto_ptr
कॉपी कन्स्ट्रस्ट्रक्टर के पास ऐसे हस्ताक्षर हैं जो इस तरह दिखता है:
एक्स (एक्स एंड बी)
इसका कारण यह है कि auto_ptr
को auto_ptr
के स्वामित्व शब्दों की सुविधा के लिए अपने सूचक को 0 में सेट करने के लिए वस्तु की प्रतिलिपि बनाने की आवश्यकता है।
कभी-कभी, अस्थायी प्रतिलिपि कन्स्ट्रक्टर से मिलान नहीं कर सकते जो कि इसके तर्क को const
घोषित नहीं करता है यह वह जगह है जहां auto_ptr_ref
आता है। संकलक प्रतिलिपि कन्स्ट्रक्टर के गैर-कॉन्स्ट संस्करण को कॉल करने में सक्षम नहीं होगा, लेकिन वह रूपांतरण ऑपरेटर को कॉल कर सकता है। रूपांतरण ऑपरेटर एक auto_ptr_ref
ऑब्जेक्ट बनाता है जो सूचक के लिए एक अस्थायी धारक की तरह है। auto_ptr
कंस्ट्रक्टर या ऑपरेटर =
को auto_ptr_ref
तर्क के साथ कहा जाता है।
यदि आप नोटिस करते हैं, तो < कोड> auto_ptr जो स्वतः auto_ptr_ref
में परिवर्तित हो जाता है
Comments
Post a Comment