27 9月 2007

[C/C++] 用C++的Vector產生動態二維陣列

vector是c++很好用的standard library,以往自己在產生動態二維陣列時,都習慣用int ** array,然後再配合for迴圈去new出想要的array size

    //2維的array[n][n]
    int ** array_2D = new int*[n];
    for(int i=0;i<n;i++){
        array_2D[i]=new int[n];
    }


但是當量一大時,用for loop與new配置出來的效果不是很好,因此,後來用了vector,發覺此方似乎比原本上面的方法好多了

 vector<int> row;
 row.assign(n,0);//配置一個row的大小
 vector< vector<int> > array_2D;
 array_2D.assign(n,row);//配置2維

沒有留言: