刚刚学习STL,学习了VECTOR,才编写程序就有问题。
#include<iostream>
#include<vector>
using namespace std;
int main ()
{
vector<int> v;
for (int i=1;i<=10;i++)
{
v.push_back(i);
cout<<"i="<<i<<"v[i]="<<v[i]<<endl;
cout<<"v.size=" <<v.size()<<endl;
}
for (int i=1;i<=10;i++)
cout<<v[i]<<" ";
}
打印结果是:
i=1v[i]=0
v.size=1
i=2v[i]=9830744
v.size=2
i=3v[i]=0
v.size=3
i=4v[i]=0
v.size=4
i=5v[i]=0
v.size=5
i=6v[i]=33554434
v.size=6
i=7v[i]=276821
v.size=7
i=8v[i]=9853184
v.size=8
i=9v[i]=1128081718
v.size=9
i=10v[i]=503316510
v.size=10
2 3 4 5 6 7 8 9 10 503316510
v.push_back(i)是不是将i的值赋给了V[I]了?
为什么打印V[1]会等于0,V[2]等于9830744?
最后打印时V[1]为什么又等于2了?
请高手指点一下,谢谢。