#includeusing namespace std; struct container { double a; double b; double c; // ほんとはもっといっぱいあるの... } data; int main() { data.a = 1, data.b = 2, data.c = 3; for(int i = 0; i < 3; ++i) { cout << *((double*)(&data) + i) << endl; } }
構造体のメンバは同じ型で且つ POD じゃなきゃ駄目、だと思う。同じサイズだと動くけれど値を取り出すのがちょっと面倒、かもしれない。
むしゃくしゃしてやった……わけではないので、反省はしないけれど、後で書き直します。とりあえず動かすのに switch いっぱい書くのが面倒だったんですよ……。