首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

delete this 和解决线程delete 指针有关问题 防止内存泄露

2012-03-29 
delete this 和解决线程delete 指针问题 防止内存泄露类似while(1){ClassA*pClassA new ClassA;pClassA-

delete this 和解决线程delete 指针问题 防止内存泄露

类似
while(1)
{
  ClassA *pClassA = new ClassA;
  pClassA->runJob();//开启一个线程
}
这样的话 我pClassA 指向的内存怎么释放?我想用delete this
但网上对这种做法不太好,尤其是给其他人用的时候,可能会出现重估删除的问题,我也看了智能指针相关的内容了但没有找到合适的办发。求助啊。大家踊跃发言。我现在正努力的挣积分。呵呵。下次问题争取给多点。不过这个话题还是很有意思的。

[解决办法]
可以考虑把析构函数写成私有的,然后定义一个公有函数,在里边写delete this,在释放时调用这个函数
这样可以保证每一个对象都是new出来的,因为定义在栈中的对象会报错,说你调用了私有的析构函数。

热点排行
Bad Request.