ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

無名共用体

型名を付けない共用体。

#include <iostream>
using namespace std;

int main()
{
    union {
        int i;
        char c[4];
    };

    c[0] = 'A';
    c[1] = 'B';
    c[2] = 'C';
    c[3] = 'D';
    cout << hex << i;
}

実行結果
44434241

この例ではint型のiとchar型配列のc[4]が同じメモリーを共有している。
一時的にメモリーを別の型でアクセスしたいときに使えるかな。でもあんまり良い使い道を思いつかない。