मैं हमेशा एसटीएल कंटेनर (वेक्टर, सूची, मानचित्र ...) स्टोर मूल्यों के बारे में थोड़ा उलझन में रहा हूं। क्या वे मेरे द्वारा पास किए गए मानों के संदर्भों को संग्रहीत करते हैं, या क्या वे प्रतिलिपि बनाते हैं/प्रतिलिपि बनाते हैं + मूल्यों को स्वयं संग्रहित करते हैं?एसटीएल: स्टोर संदर्भ या मूल्य?
उदाहरण के लिए,
int i;
vector<int> vec;
vec.push_back(i);
// does &(vec[0]) == &i;
और
class abc;
abc inst;
vector<abc> vec;
vec.push_back(inst);
// does &(vec[0]) == &inst;
धन्यवाद
आपको मेरे पास काम करने वाले कोड की तरह दिखता है जो उत्तर का परीक्षण करेगा (टिप्पणी को एक सशर्त बनाने के लिए एक छोटे बदलाव के साथ)। इसे चलाओ और देखो! मुझे पूरा यकीन है कि वे प्रतिलिपि बनाते हैं और स्टोर करते हैं। –