Class A
{
public:
NullIt()
{
this = NULL;
}
Foo()
{
NullIt();
}
}
A * a = new A;
a->Foo();
assert(a); //should assert here
この効果を達成する方法はありますか?メモリリークは脇にありますか?オブジェクトインスタンスは、自分自身への "this"ポインタを安全にnullにできますか?
パブリックメソッドを別のパブリックメソッドでラップするのはなぜですか?なぜ単に - > NullIt()ではないのですか? (これは、OOの観点からだけではありません) –
スタックにAが割り当てられている場合も考慮してください。 this = NULLとはどういう意味ですか?オブジェクトはスタック上に残っています... –