मैं स्ट्रीम से अलग-अलग तत्वों को पढ़कर, कुछ जटिल प्रकार का वेक्टर बनाना चाहता हूं। मैं पहले से ही वेक्टर आकार जानता हूँ। क्या वेक्टर कन्स्ट्रक्टर में या आरक्षित विधि का उपयोग करके तत्वों की संख्या निर्दिष्ट करना बेहतर है? इनमें से कौन सा बेहतर है?तत्वों की ज्ञात संख्या वाले वेक्टर को पॉप्युलेट करना: कन्स्ट्रक्टर में या आरक्षित विधि का उपयोग करके इसका आकार निर्दिष्ट करें?
int myElementCount = stream.ReadInt();
vector<MyElement> myVector(myElementCount);
for (int i = 0; i < myElementCount; i++)
{
myVector[i] = stream.ReadMyElement();
}
या
int myElementCount = stream.ReadInt();
vector<MyElement> myVector;
myVector.reserve(myElementCount);
for (int i = 0; i < myElementCount; i++)
{
myVector.push_back(stream.ReadMyElement());
}
क्या इस मामले में जहां मैं सिर्फ ints का एक वेक्टर या कुछ अन्य सरल प्रकार बनाने के बारे में।
'रिजर्व()' के बजाय 'आकार बदलें()' का उपयोग करें, यह नए बच्चों के लिए एक आम भ्रम है। –
@ πάνταῥεῖ क्यों? 'आकार बदलना' भी डिफ़ॉल्ट रूप से वस्तुओं का निर्माण नहीं करता है? ओपी वैसे भी 'push_back' कर रहा है। हो सकता है कि मैं भी उलझन में हूं :) – vsoftco