メインメニューを開く

差分

自己参照

1,584 バイト追加, 2012年7月6日 (金) 11:24
ページの作成:「'''自己参照'''(self reference)とは、循環参照のひとつで、あるデータ構造において、その中に含まれるデータが同一...」
'''自己参照'''(self reference)とは、[[循環参照]]のひとつで、ある[[データ構造]]において、その中に含まれる[[データ]]が同一のデータ構造への[[参照]]もしくは[[ポインター]]となっている物のことである。

== 概要 ==
自己参照は主として、[[ツリー構造]]や、[[リスト構造]]のひとつである[[連結リスト]]などを表す際に多用される。

自己参照を持つ[[データ構造]]を表すのに、[[構造体]]を用いる物は[[自己参照構造体]]、[[クラス]]を用いる物は[[自己参照クラス]]などと呼ばれる。この2つには構造体化クラスかというくらいしか違いはないが、主要な[[アルゴリズム]]で使われる[[データ構造]]の多くは、[[構造体]]が全盛の時代にほぼ出尽くした感があり、現在でも自己参照と言えば「[[自己参照構造体]]」というくらい用語としての強弱がはっきりしているという傾向がある。

== 記述例 ==
[[C Sharp|C#]]による自己参照クラスの記述例を示す。
<source lang="csharp">
// 人間クラス
class Human
{
public string Name;
public DateTime Birth;

// 父親
// 自己参照
public Human Father;

// 母親
// 自己参照
public Human Mother;
}
</source>

== 関連項目 ==
* [[循環参照]]
* [[相互参照]]
* [[データ構造]]
* [[構造体]]
* [[クラス]]
* [[参照]]
* [[ポインター]]

== 参考文献 ==
<references/>

== 外部リンク ==

{{stub}}
匿名利用者