c++ - Guaranteeing standard library containers are freed -
मान लें कि मेरे पास मैं वर्तमान में जो कर रहा हूं वह यह है: लेकिन बेशक यह केवल ऑब्जेक्ट को साफ़ करता है और जो मेमोरी रखता है उसे रिलीज़ नहीं करता। क्या std :: vector & lt; std :: vector & lt; std :: string & gt; & gt; < / कोड>
std :: vector & lt; std :: vector & lt; std :: string & gt; & gt; obj; के लिए (ऑटो i: obj) {for (ऑटो j: i) j। ~ Basic_string (); i.clear (); }
std :: vector
कोई भी उपयोग करता है खुद के आधार उदाहरण के लिए स्मृति? और मैं यह कैसे गारंटी दे सकता हूं कि यह स्मृति जारी की गई है ताकि इसे किसी और चीज़ के लिए इस्तेमाल किया जा सके, या यह स्वतः हो जाएगा?
आपका कोड टूट गया है। आप ऑब्जेक्ट्स को नष्ट कर रहे हैं, जबकि अभी भी कंटेनर के स्वामित्व में हैं यह स्पष्ट नहीं है कि आपको क्या करना है, आपको ऐसा करना चाहिए, लेकिन आपको कुछ भी करने की ज़रूरत नहीं होनी चाहिए। इन कंटेनरों में वे वस्तुओं की मालिक हैं, और जब कंटेनर नष्ट हो जाता है, तो इसमें सब कुछ है।
Comments
Post a Comment