私は客観的 c の初心者であり、私に属していないオブジェクトを解放することがなぜ悪い考えなのか理解できません。
と呼ばれるメソッドにこれがあるとしましょうEurope
//initForStringTheory is a class init method;
Collider *LHC = [Collider initForStringTheory];
//Colliders is a NSMutableArray
[Colliders addObject: LHC]
[LHC release]
を所有していないため、リリースLHC
しないことをお勧めします。それへのポインタしかありません。したがって、自動解放プールを有効に活用して、Europe
Europe
LHC
//newCollider is a pointer for the newly created instance in initForStringTheory
return [newCollider autorelease];
でinitForStringTheory
。しかし、なぜ?
ポインターEurope
もインスタンスを指していませんか? init メソッドで自動解放を返す代わりに、LHC
単に解放できないのはなぜですか?Europe
newCollider