共用体
【英】union
共用体とは、同じメモリ領域を異なる変数が共有する、プログラム言語におけるデータ型のことである。
共用体は、一般的には、C言語やC++におけるunionキーワードで定義したデータ型を指す。似たような構造でデータ型が異なる場合に用いられる。共用体を用いることで、別々の変数を用意することがなくなる上、煩雑さから開放される。
共用体は、各メンバを括っているために見た目は構造体と似ているが、各メンバが同じメモリ領域を共有するため、各メンバの先頭アドレスは同一となる。
領域の分割が容易であるためメモリの節約になるが、むやみに用いるのは非効率であり扱いも難しい。このような特性から単体で使われることはあまりなく、構造体のメンバの1つとして用いられることが多い。
共用体
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/27 00:24 UTC 版)
共用体(きょうようたい、英: union)は、プログラミング言語におけるデータ型の一つで、同じメモリ領域を複数の型が共有する構造である。
- ^ 例えばMicrosoft Windows SDKの
<oaidl.h>
では、共用体を利用したVARIANT
型が定義されている。 - ^ 共用体宣言 - cppreference.com
- ^ 多くのCコンパイラでは(C11よりも前の時代から)拡張として無名の構造体および共用体をサポートしている。
- ^ 全ての共用体メンバは必ずPODだが、共用体自身がPODになるとは限らない。共用体はユーザー定義のコンストラクタなどを持てるからである。
- ^ 共用体の型名を決める識別子(
union xxx {...};
のxxx
)のことで、冒頭の説明にある「タグ情報」とは別物。 - ^ 多くのC++コンパイラでは拡張として無名の構造体をサポートしている。
固有名詞の分類
- 共用体のページへのリンク