August 28,2009
會自殺的類別
坦白說,我從沒想過物件可以自殺這件事情。當我看到這樣寫的時候,實在是很令我驚訝...實驗的結果,還真的是可以。
#include <iostream>
class SuicideSample {
public:
SuicideSample() { std::cout << "ctor." << std::endl; }
~SuicideSample() { std::cout << "dtor." << std::endl; }
void DoIt( void ) {
delete this;
}
};
int main( int argc, char* argv[] )
{
SuicideSample* obj=new SuicideSample();
obj->DoIt();
// of course, object can kill itself, but if you try to kill it again
// program will crash.
//delete obj;
return 0;
}
引用URL
http://cgi.blog.roodo.com/trackback/9858209
回應文章 

C# 有 Delete this 嗎..?還是要自己設成 dispose
Posted by saint
at September 2,2009 09:12
c#/java 請把這個問題交給 GC,需要回收時,就呼叫 GC 的 Collect...
Posted by elleryq
at September 2,2009 17:20