- 448 名前:デフォルトの名無しさん mailto:sage [04/10/30 09:57:07]
- >>444
実体でなくポインタを維持すればいいなら、 std::vector<void *>dstArray; dstArray.push_back(reinterpret_cast<void *>(&srcData.mInt)); dstArray.push_back(reinterpret_cast<void *>(&srcData.mLong)); dstArray.push_back(reinterpret_cast<void *>(srcData.mChr)); 構造体のメンバの列挙は誰かがやらないといけないからねぇ。 static const unsigned sOffsets[] = { offsetof(TEST_STRUCT, mInt), offsetof(TEST_STRUCT, mLong), offsetof(TEST_STRUCT, mChr), }; for (unsigned i = 0; i < sizeof(sOffsets) / sizeof(*sOffsets); ++i) { dstArray.push_back(reinterpret_cast<void *>(reinterpret_cast<char *>(&srcData) + sOffsets[i])); } これでもなんとかなるかな。
|

|