只是想知道一个物体是否可以自毁。
考虑这种情况。
扩展线程对象的对象。
Session : Thread
{
Session() {}
~Session() {}
ThreadMain()
{
while(!done){
/* do stuff ... */
...
// something sets done = true;
}
~Client();
}
};
void start_session()
{
Session* c = new Session();
Session->Start();
// when I exit here, I've lost my reference to s. But if the object
// self destructs when done, I don't need it right?
}
在此过程中的某个地方,我们有一个名为start_session的函数来启动会话。 最终会话结束。
在传统方法中,我必须有某种Session对象列表 在调用new之后放在该列表中。
要清理对象,我必须弄清楚哪些已完成并调用清理 功能以后。
我认为如果他们能够清理自己可能会更有意义。可以这样做吗?
为什么呢?为什么不?更好的方法?