コンテンツにスキップ

最終更新:2026-10-12

C++ union 共用体

著者について:

個人公式アカウント(WeChat):

wechat

共用体(union)はメモリを節約する特別なクラスであり、1つの union は複数のデータメンバを持てますが、任意の時点で値を持てるデータメンバは1つだけです。あるメンバに値を代入すると、他のメンバは未定義の状態になります。共用体には次のような特徴があります:

  • デフォルトのアクセス指定子は public である
  • コンストラクタ、デストラクタを持つことができる
  • 参照型のメンバを持つことができない
  • 他のクラスを継承できず、基底クラスにもなれない
  • 仮想関数を持つことができない
  • 無名 union は、定義されたスコープ内で直接 union のメンバにアクセスできる
  • 無名 union は protected メンバや private メンバを含むことができない
  • グローバルな無名 union は静的(static)でなければならない

関連トピック

コメント