プログラミング言語における型(データ型)の分類の1つで、複数の型の組み合わせによって作られる型のことです。
単一の値だけを表現する型をスカラ型と呼びます。スカラ型や、ほかの複合型と組み合わせることで作られる型が複合型です。
具体的にどのような型を複合型に分類するかは、プログラミング言語の種類によっても異なりますが、配列や構造体、クラスなどが複合型の代表例です。文字列型のように、プログラミング言語によってスカラー型に分類されたり、(文字型の配列として表現されることから)複合型に分類されたりするものもあります。
C99 では、配列型と構造体型を総称したものを集成型 (aggregate type) と呼んでいます1。
composite type という用語も登場しますが、JIS によると合成型と訳されており、適合する2つの型から得られる型のことを意味しています。
規格書の例によると2、たとえば、適合する2つの型 int f(int (*)(), double (*)[3]);
と int f(int (*)(char*), double (*)[]);
の合成型は、int f(int (*)(char*), double (*)[3]);
とされている。
C++14 では compound type と呼ばれており、配列型、関数型、ポインタ型、参照型、クラス型、列挙型、非staticデータメンバへのポインタと、これらを再帰的に繰り返した型であると定義されています3。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
Twitter でツイート | Twitter をフォロー | LINE で送る |
![]() |
管理者情報 | プライバシーポリシー |