CStringArray*p;
p=new CStringArray[MAX];当 p 数组满时,如何扩容
且保留原数据

解决方案 »

  1.   

    小弟不懂啊CStringArray本身就可以理解为二维数组吧又 new[]了一次相当与三维数组了?????????????????????
      

  2.   

    给你写了一个例子,参考吧!#include <vector>
    #include <iostream>
    using namespace std;typedef vector<int> INTVECTOR;
    typedef vector<INTVECTOR> INTMATRIX1;
    typedef vector<INTMATRIX1> INTMATRIX2;int main(int argc, char* argv[])
    { INTVECTOR array;
    INTMATRIX1 matrix1;
    INTMATRIX2 matrix2; matrix2.resize(5); for(int nRowIndex=0;nRowIndex<5;nRowIndex++)
    {
    matrix2[nRowIndex].resize(6); for(int nColIndex=0;nColIndex<6;nColIndex++)
    {
    matrix2[nRowIndex][nColIndex].resize(6);
    for(int xColIndex=0;xColIndex<6;xColIndex++)
    {

    matrix2[nRowIndex][nColIndex][xColIndex]=xColIndex*nRowIndex*nColIndex;
    cout << "The matrix2 is " << matrix2[nRowIndex][nColIndex][xColIndex] << endl; }
    } }
    return 0;}
      

  3.   

    给你写了一个例子,参考吧!#include <vector>
    #include <iostream>
    using namespace std;typedef vector<int> INTVECTOR;
    typedef vector<INTVECTOR> INTMATRIX1;
    typedef vector<INTMATRIX1> INTMATRIX2;int main(int argc, char* argv[])
    { INTVECTOR array;
    INTMATRIX1 matrix1;
    INTMATRIX2 matrix2; matrix2.resize(5); for(int nRowIndex=0;nRowIndex<5;nRowIndex++)
    {
    matrix2[nRowIndex].resize(6); for(int nColIndex=0;nColIndex<6;nColIndex++)
    {
    matrix2[nRowIndex][nColIndex].resize(6);
    for(int xColIndex=0;xColIndex<6;xColIndex++)
    {

    matrix2[nRowIndex][nColIndex][xColIndex]=xColIndex*nRowIndex*nColIndex;
    cout << "The matrix2 is " << matrix2[nRowIndex][nColIndex][xColIndex] << endl; }
    } }
    return 0;}