What happens when i throw an exception in c++ destructor? -
संभव डुप्लिकेट:
सी ++ में हमें कभी नाशक में एक अपवाद नहीं फेंकना चाहिए क्या यह कोड काम करता है?
struct a {~ a () {}}; Struct b: सार्वजनिक एक {~ बी () {1 फेंक; }; }; बूल c () {a * d = new b; {Delete d को आज़माएं; } पकड़ (int ई) {वापसी ई; } विवरण झूठा है; }
क्या यह कोड उद्देश्य से काम करता है?
क्या आप इसे स्वयं चलाने की कोशिश करते हैं? इसके बारे में भी देखें - इसके अनुसार, हां, यह आपके साधारण मामले में काम करेगा, लेकिन सामान्य तौर पर, आपको ऐसा नहीं करना चाहिए। फिर, यह इस बात पर निर्भर करता है कि आप "काम के उद्देश्य से" कैसे परिभाषित करते हैं - कार्यक्रम बिना किसी त्रुटि के चलेंगे, लेकिन आप संभवतः स्मृति को रिसाव करेंगे क्योंकि वस्तु मुक्त नहीं थी।
Comments
Post a Comment