0

クラスのデストラクタを独自のメソッドから呼び出すことができるかどうかを知りたかったのです。たとえば、そのように作成されたクラス foo があるとします

foo* f = new foo();

foo呼ばれるメソッドがあるとしますfinalize

void foo::finalize()
{
   //do some finalizing code
   //Delete the instance;
}

finalize が のデストラクタを呼び出して、foo割り当てられたメモリを回復することは可能newですか? もしそうならどのように?

4

3 に答える 3

0

puttingthis->~foo();は foo のデストラクタを呼び出します。

そう、

void foo::finalize()
{
     // do something
     this->~foo();
}
于 2013-07-25T16:37:10.417 に答える