サイズ: 925
コメント:
|
サイズ: 1011
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 11: | 行 11: |
. {{attachment:chain39.png}} 処理はこのように書けます。 {{{ a = a.next; }}} |
|
行 19: | 行 23: |
. {{attachment:chain39.png}} | ---- === 例2 === |
オブジェクトを除くメソッド
オブジェクトを除く場合でも、先頭を処理するほうが楽です。
例1
変数aがいくつかつながったオブジェクトを参照しており、 その先頭の1つのオブジェクトを除く場合です。
赤矢印でしめしたようにつなぎ変えることで、 並びから1つのオブジェクトを除くことができます。
処理はこのように書けます。
a = a.next;
処理の後では、 変数aからたどっていくと、赤いXで示したオブジェクトは参照できません。
赤いXで示したオブジェクトは消えてなくなったのではありません。
どこからも参照されていないオブジェクトは、 ごみ集め(ガーベッジコレクタ)が行われた時点で無くなります。