容器clear之后,重新resize,如何容器前面多了那么多空格

容器clear之后,重新resize,怎么容器前面多了那么多空格?C/C++ code#include vector#include iostream#

容器clear之后,重新resize,怎么容器前面多了那么多空格?

C/C++ code
#include <vector>#include <iostream>#include <iomanip>using namespace std;int main (void) {      int m[][4] = {1,2,3,4,5,6,7,8,9,10,11,12};      vector<vector<int> > vv; // 二维向量    //  vv.clear();    //  vv.resize(12);      vv.push_back (vector<int> (m[0], m[1]));      vv.push_back (vector<int> (m[1], m[2]));      vv.push_back (vector<int> (m[2], m[3]));      for (vector<vector<int> >::size_type i = 0; i < vv.size (); i++) {          for (vector<int>::size_type j = 0; j < vv[i].size (); j++)              cout << setw (4) << vv[i][j];          cout << endl;      }      return 0;}


[解决办法]
1. 跟clear没有关系。
2. vv.resize(12)得到一个具有12个向量元素的二维向量,其内层向量的size默认为0.
3. 三次vv.push_back函数使得vv具有15个向量元素,其中前面12个向量的size为0,后面3个向量的size为4.
4. 输出代码中,对于前面12个size为0的向量元素,各输出一个换行符。然后再输出1,2,3,4...