比如我定义了一个结构体
struct VectorInf
{
   int a;
   char b[09];
}
VectorInf *pVectorInf;
pVectorInf=new VectorInf[50];删除能不能用delete pVectorInf ;阿 
但是这样还是出现问题阿,运行时间长了,就出问题了。

解决方案 »

  1.   

    delete []pVectorInf ;
    如果数组没越界的话没问题
      

  2.   

    delete [] pVectorInf [] 前后都不要挨着什么东西啊
      

  3.   

    delete[] pVectorInf;
    肯定没问题
    用delete pVectorInf只是删除了第一个元素,并没有删除整个数组
      

  4.   

    是阿,我就这样做
    if(pVectorInf!=NULL) 
    {
    delete [] pVectorInf;
    pVectorInf=NULL;
    }
    //if(pFrameInf!=NULL)    delete [] pFrameInf;
    if(pTexCoordInf!=NULL) 
    {
    delete [] pTexCoordInf;
    pTexCoordInf=NULL;
    }
    if(pMeshInf!=NULL)  
    {
    delete [] pMeshInf;
    pMeshInf=NULL;
    } if(pTexture!=NULL)    
    {
    delete pTexture;
    pTexture=NULL;
    }
    但是还是出现问题阿,运行几次就不行了,是不是new VectorInf[500000];这样长得内存
    一运行就很慢阿。
      

  5.   

    都 delete 了,就不用赋值为 NULL 了。
      

  6.   

    delete []pVectorInf;
    pVectorInf = NULL不赋值为 NULL ,如果其他地方再次使用会成为野指针。
    这是良好编程习惯之一。还有在使用指针前要判断是否为null。
      

  7.   

    delete []pVectorInf;PSW:
    最好不要频繁new/delete,这样会减慢系统运行速度,且容易出错!
    尽可能的改进算法,优化程序。
      

  8.   

    特别new和delete大内存时将会严重影响程序效率
      

  9.   

    delete [] pVectorInf 建议使用数组,简单,而且不容易出错。
    如果定义变量所需要内存不多的话,程序很多地方可以使用数组的地方尽量使用它!