BohYoh.comトップページへ
C & C++ FAQ
目次

C C++ オブジェクトとは何ですか。

 オブジェクトは、一般に“変数”とも呼ばれていますが、標準Cでは以下のように定義されています。
オブジェクト
その内容によって、値を表現することができる実行環境中の記憶域の領域。ビットフィールド以外のオブジェクトは、連続する一つ以上のバイトの列からなる。そのバイトの個数、順序及び符号化規則は、明示的に規定するか又は処理系定義とする。オブジェクトを参照する場合、オブジェクトは、特定の型をもっていると解釈してもよい。

 なお、標準C++では明確な定義はなされていません。以下のように説明されています。
C++オブジェクトモデル
C++ プログラムの構文単位は、オブジェクトを生成し、破壊し、参照し、取り出し、加工する。オブジェクト(object) は、記憶域からなる。
参考 関数は、オブジェクトではない。オブジェクトと同様に記憶域を占有することもあるが、しないことも ある。
オブジェクトは、《定義》(definition)又は《new 式》が生成する。更に、必要に応じて処理系が生成する。(以下省略)


■ 根拠 ■
標準C §3.14 object
標準C99 §3.14 object
標準C++ §1.8 The C++ Object model

戻る

BohYoh.comロゴ