次のコードで 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;
}