अगर मैंसंकेत - डुप्लिकेट वस्तु दृष्टान्त
Class *a1 = new Class();
Class *b1 = a1;
delete b1;
delete a1; //this will give a double free or corruption message;
अगर मैं सूचक ख हटाते हैं, तो यह सूचक एक सही हटाने के समान है है? चूंकि दोनों कक्षा के एक ही उदाहरण पर इंगित कर रहे हैं। तो, मैं ए 1 से बी 1 के उदाहरण की प्रतिलिपि कैसे बना सकता हूं ताकि जब मैं बी 1 हटा दूं, ए 1 हटाया नहीं गया है।
Class *a1 = new Class();
Class *b1 = a1;
//how do I duplicate the instance a1 is pointing
//so that when I delete b1, a1 still exists.
delete b1;
delete a1; //this is still valid
धन्यवाद।
आवश्यक सभी पॉइंटर्स के बारे में निश्चित नहीं है, लेकिन 'कक्षा * बी 1 = नई कक्षा (* ए 1);' इसे करना चाहिए। – chris
सुनिश्चित करें कि आपकी प्रतिलिपि निर्माता ठीक है और * a1 से एक नई प्रति बनाएं। – halfelf
यह आसान था @ @ धन्यवाद – tambalolo