メインメニューを開く

差分

循環参照

105 バイト追加, 2014年2月26日 (水) 00:59
編集の要約なし
循環参照(英:circular '''循環参照'''([[英語]]:circular reference)とは、ある複数の[[データ]]が相互に参照しあっている状態のことである。([[データ構造]])が相互に[[参照]]しあっている状態のことである。
== 概要 ==2つの[[データ]]が相互に参照するのみならず、何個ものデータが巡り巡って循環しているということも多々ある。が相互に参照する[[相互参照]]のみならず、何個ものデータが巡り巡って循環しているということも多々ある。 また、また、1つの[[データ構造]]が同一のデータ構造を参照する[[自己参照]]も循環参照のひとつである。
== 概要 ==[[プログラミング]]において循環参照を適切に処理できなければ、たとえばを行う際に循環参照を適切に処理できなければ、たとえば[[シリアライズ]]を行うさいに[[永久ループ]]に陥り、[[アウトオブメモリー]](メモリ不足)や[[スタックマシン]]であれば[[スタックオーバーフロー]]が発生したりといったことになる。
また[[参照カウンター]]方式の[[ガベージコレクター]]を採用する[[プログラミング言語]]や[[実行環境]]では、循環参照により[[参照]]しあう[[オブジェクト]]は半永久的に参照カウントが減らないという問題に遭遇し、[[UNIX]]の[[デーモン]]や[[Windowsサービス]]、[[常駐プログラム]]のような長時間起動し続ける[[プログラム]]においてメモリー不足や[[スタックオーバーフロー]]が発生する。
{|class="wikitable"
|+
! !! A !! B
|-
! 1 !! | =A1 !! | =B2
|-
! 2 !! | !! | =B1
|}
== 参考文献 ==
<references/> == 外部リンク =={{reflist}}
{{stub}}