我在一个类中用malloc申请了块内存char *pData,然后将该内存的指针传到另一个类中,然后在该类中free(pData),能否释放掉?如释放不掉该如何释放?

解决方案 »

  1.   

    我再细细描述下:
      我在一个类中用malloc申请了块内存char *pData,然后将该内存的指针赋值给一个结构体中的指针变量,然后将该结构体加入到一个队列中去(队列结构为一个类),然后另一个类从队列中取出该结构体,并将pData所指的内存区的数据复制出来,然后我free(char *pData)结果还是泄露了
      

  2.   

    很容易产生"野指针"和"memory leak"
      

  3.   

    我觉得能够释放掉我建议你先测试一下,既然你的程序需要反复申请内存,那么可以这样测试:每次申请大一点的内存,在申请内存后,使用memset将得申请的内存区域置为0(如果你申请的内存有可能没有被使用,这一步千万别忘了),如果存在内存泄漏,过一段时间肯定会死机的,并且每次申请的内存越大,死机越快(排除其他地方内存泄漏的可能)。