匿名共用体
ロベールのC++入門講座 16-02
メンバ変数に匿名共用体を用いれば、メモリを共有するメンバ変数を定義できます。
#include <iostream> using std::cout; using std::endl; class CSample { public: union { int m_int; char m_char[4]; }; }; int main () { CSample obj; obj.m_int = 0x61626364; cout << obj.m_char[0] << endl; cout << obj.m_char[1] << endl; cout << obj.m_char[2] << endl; cout << obj.m_char[3] << endl; return 0; }
$ main d c b a
一見共用体に見えないところが面白いですね。