相关疑难解决方法(0)

1730
推荐指数
11
解决办法
54万
查看次数

删除void指针是否安全?

假设我有以下代码:

void* my_alloc (size_t size)
{
   return new char [size];
}

void my_free (void* ptr)
{
   delete [] ptr;
}
Run Code Online (Sandbox Code Playgroud)

这样安全吗?或者必须在删除前ptr进行投射char*

c++ memory-management casting void-pointers

88
推荐指数
9
解决办法
5万
查看次数

双删除会发生什么?

Obj *op = new Obj;
Obj *op2 = op;
delete op;
delete op2; // What happens here?
Run Code Online (Sandbox Code Playgroud)

当你意外地双重删除时,最糟糕的情况是什么?有关系吗?编译器会抛出错误吗?

c++ pointers memory-leaks

20
推荐指数
4
解决办法
2万
查看次数