में साफ़ करें मुझे एक वेक्टर पर लागू होने पर सी ++ स्पष्ट फ़ंक्शन के व्यवहार को समझने में कुछ कठिनाइयां हैं।वेक्टर :: सी ++
मैं संकलन और निम्नलिखित समारोह भागने की कोशिश की:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
unsigned int i;
vector<int> myvector;
myvector.push_back (1);
myvector.push_back (2);
myvector.push_back (3);
cout << "myvector contains:";
for (i=0; i<myvector.size(); i++) cout << " " << myvector[i];
myvector.clear();
myvector.push_back (11);
myvector.push_back (12);
cout << "\nmyvector contains:";
for (i=0; i<myvector.size(); i++) cout << " " << myvector[i];
cout << endl;
cout << " entry3 = " << myvector[2]<<endl;
return 0;
}
और यह उत्पादन होता है:
myvector contains: 1 2 3
myvector contains: 11 12
entry3 = 3
कैसे है यह संभव नहीं है कि वेक्टर के तीसरे प्रवेश की जानकारी वेक्टर को साफ़ करते समय मिटा दिया गया है?
ऑपरेटर [] सूचकांक की लंबाई-मान्य नहीं है। .at (n) के साथ उसी ऑपरेशन को आज़माएं और देखें कि क्या होता है। – WhozCraig