在下面的代码中,如果我调用 v.resize(n),程序会打印出0 0 0 0 0 0 0 0 0 0,这不是我想要看到的。但是,如果我将包含 v.resize(n) 的行注释掉,它将打印出0 1 2 3 4 5 6 7 8 9,这是我想看到的。为什么会这样?我这里的逻辑有什么问题?
#include <iostream>
#include <vector>
using namespace std;
int main( int argc , char ** argv )
{
int n = 10;
vector<int> v;
v.resize(n);
for( int i=0 ; i<n ; i++ )
{
v.push_back(i);
}
for( int i=0 ; i<n ; i++ )
{
cout << v[i] << " ";
}
cout << endl;
return 0;
}