数组指针delete导致程序core down的问题
我如下定义了一个数组类型:
typedef char TNodeType[50];
使用的时候是这样的:
在类中声明为类变量:
TNodeType *m_nodelist;
类的一个方法体中如下分配内存:
m_nodelist = new TNodeType[num] ;//num由函数参数指定
在类的析构函数中对其释放内存:
if(m_nodelist != NULL)
{
delete []m_nodelist;
m_nodelist = NULL;
}
这样在单用户调用服务程序的时候,没有任何问题,但是,一旦多用户并发的时候,服务程序就有可能在delete这句时core down(每个用户拥有自己的对象,这段里不存在互斥的问题)。
请问:我这种使用方法有什么问题?应该如何修改?