यह काम करेगा।
पैराग्राफ सी ++ 11
unique_ptr<>
वर्ग टेम्पलेट के बारे में मानक की 20.7.1.2.3/8-9 से
:
unique_ptr& operator=(nullptr_t) noexcept
;
प्रभाव: reset()
।
Postcondition: get() == nullptr
यह है कि वर्ग टेम्पलेट unique_ptr<>
की परिभाषा operator =
की एक अधिभार उस प्रकार nullptr_t
(जैसे nullptr
) ने अपने दाहिने हाथ की ओर के रूप में की एक मान स्वीकार भी शामिल है का मतलब है, अनुच्छेद यह भी निर्दिष्ट करता है कि nullptr
को unique_ptr
पर unique_ptr
को रीसेट करने के बराबर है।
इस प्रकार, इस असाइनमेंट के बाद, आपकी A
ऑब्जेक्ट नष्ट हो जाएगी।
स्रोत
2013-02-25 15:55:28
मैं देखता हूं। बीटीडब्ल्यू, केवल नलप्टर के पास nullptr_t है, जिस तरह से यह किया गया है, है ना? – Zhen
@Zhen: मानक यह निर्दिष्ट नहीं करता है। आप 'nullptr_t' प्रकार का एक चर बना सकते हैं, लेकिन मुझे संदेह है कि आपको कभी भी ऐसा करने की आवश्यकता होगी। –