读书人

dll中new 一个种 dll外delete

发布时间: 2013-06-25 23:45:42 作者: rapoo

dll中new 一个类, dll外delete
int main()
{
Class1* pClass= CreateObj();
delete pClass;
}

CreateObj()函数是dll中的函数,用于new一个Class1的派生类,并返回基类Class1的指针。
为什么在dll外释放没有问题? 类 delete??new
[解决办法]

引用:
如果是这样:
int main()
{
char *p = NULL;
MyAlloc( &p );
delete p;
....
}

MyAlloc是dll中的函数,用于创建堆内存,并把地址赋给p。
执行会出问题,因为是在dll外消毁堆内存, 同样的为会么new 一个类不会有问题?


想想new比malloc多了什么,你就明白了。
[解决办法]
http://msdn.microsoft.com/en-us/library/ms235460
http://msdn.microsoft.com/en-us/library/abx4dbyh(v=vs.80).aspx

读书人网 >C++

热点推荐