如果我们new出来的指针是一个基本类型,没什么关系,内存还是会被释放的,但是如果是一个类对象指针,在处理过程中转成了void*,那就有问题了,析构函数将不会被调用。
故new的指针类型要和delete的指针类型要保持一致。
如下所示:
object* p=new object[10];
void* p2=(void *)p;
//注意指针转换
delete[] (object*) p;
如果我们new出来的指针是一个基本类型,没什么关系,内存还是会被释放的,但是如果是一个类对象指针,在处理过程中转成了void*,那就有问题了,析构函数将不会被调用。
故new的指针类型要和delete的指针类型要保持一致。
object* p=new object[10];
void* p2=(void *)p;
delete[] (object*) p;