this.deleteの話

C++メンバ関数内で
this.delete
と記述した場合どうなるのか。

staticでないメンバ変数を操作しなければ
問題なく動いてくれる。

これはなぜかというと
C++ではメンバ関数はすべてstaticなものと同様に
一つしか作成されていないからである。

関数が呼び出された際に、thisに渡すインスタンスを変えることで
通常の利用であれば問題なく動作できるからこのような仕様になっているそうだ。

なのでインスタンスがdeleteされても
staticと同様に関数は残り続けるので
deleteされた変数さえ操作しなければ問題なく動作するのだ。