我有两个班,C1和C2。两者都继承自Thread类(使用POSIX)。我根据一些套接字请求调用C1中的特定函数。我正在做以下事情:
C1.cpp:
C2 *c2 = new C2();
if (c2->MyFunction()) // MyFunction will start thread, run and do some database activity ,ftp ..etc
{
cout << "success";
enter code here
}
else
{
cout << "failed";
}
如何在此处回收c2
的内存?
答案 0 :(得分:2)
简单:
void C2::ThreadMain()
{
// ....
delete this;
return;
}
要小心,因为C2
线程是一个实现细节,其他代码不应该假设C2
个对象的生命周期。