读书人

不指定类型delete指针解决思路

发布时间: 2012-03-09 16:54:57 作者: rapoo

不指定类型delete指针
若:
void * pArray = NULL;

pArray = new CArray <int, int> ;
...
delete pArray;

问:
此时CArray使用到的动态内存能够被释放干净嘛?

再问:
若改为(CArray <int, int> *)pArray = new CArray <int, int> ;
或delete (CArray <int, int> *)pArray;
则CArray使用到的动态内存能够被释放干净嘛?

[解决办法]
不能,因为delete pArray;的时候没有调用CArray <int, int> ;的析构函数

delete (CArray <int, int> *)pArray这个时候调用了析构函数.

读书人网 >VC/MFC

热点推荐