मेरे पास एक std :: vector कुछ वर्ग के तत्वों के साथ ClassA < / code>। इसके अतिरिक्त मैं एक std :: map & lt; key, classa * & gt; का उपयोग कर एक इंडेक्स बनाना चाहता हूं जो कि वेक्टर में निहित तत्वों के लिए पॉइंटर्स के लिए कुछ महत्वपूर्ण मान को मैप करता है।
क्या कोई गारंटी नहीं है कि वेक्टर ( डाला गया ) के अंत में तत्वों जोड़ा वेक्टर (जब एक ही ऑब्जेक्ट को इंगित करते हैं) मान्य होते हैं। I.e, निम्न कोड सही होगा:
std :: vector & lt; classa & gt; भंडारण; Std :: map & lt; int, ClassA * & gt; नक्शा; के लिए (इंट आई = 0; आई & lt; 10000; ++ i) {storage.push_back (क्लास ए ()); Map.insert (std :: make_pair (storage.back ()। GetKey (), & amp; (storage.back ());} // मैप में भंडारण के 'सही' तत्वों के लिए केवल वैध संकेत होते हैं यदि मैं std :: vector के बजाय std :: list का उपयोग करता हूं, तो स्थिति कैसे है?
सूचियां - हां, डालने और तत्वों को हटाना, संकेतक, संदर्भ और iterators को अन्य तत्व
Comments
Post a Comment