在我的程序中要用到一个一维数组存储int型数据,但我要等到
程序运行时由用户决定到底有多int数据要存储,即数组的大小。由于int数据是不确定的,可能就有几个,也可能数量极大。
而且,这些数据需要频繁的读写,用指针会影响速度。请问如何在程序中如何给这个一位数组分配内存空间,且不影响
程序的性能?

解决方案 »

  1.   

    int *pInt=new int[用户决定]
    //some opertionsdelete[]pInt
      

  2.   

    分配动态内存
    HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE,大小);
    修改大小
    GlobalUnlock(hData);
    GlobalReAlloc(hData,大小,GMEM_MOVEABLE);
    pData = (RGNDATA*)GlobalLock(hData);
      

  3.   

    或许CArray模板类会适合你的需要。这个模板是动态分配内存的.
      

  4.   

    可以用链表或CArray模板,将数据在需要时加入,其大小是不限的。