delete this 和解决线程delete 指针问题 防止内存泄露
类似
while(1)
{
ClassA *pClassA = new ClassA;
pClassA->runJob();//开启一个线程
}
这样的话 我pClassA 指向的内存怎么释放?我想用delete this
但网上对这种做法不太好,尤其是给其他人用的时候,可能会出现重估删除的问题,我也看了智能指针相关的内容了但没有找到合适的办发。求助啊。大家踊跃发言。我现在正努力的挣积分。呵呵。下次问题争取给多点。不过这个话题还是很有意思的。
[解决办法]
可以考虑把析构函数写成私有的,然后定义一个公有函数,在里边写delete this,在释放时调用这个函数
这样可以保证每一个对象都是new出来的,因为定义在栈中的对象会报错,说你调用了私有的析构函数。