構造体のメンバーのオフセットを取得したい。これが何度も尋ねられたことは知っていますが、答えは常に強力なoffsetofです。私の場合は少し異なります。不明な型のオフセットが必要です。たとえば、次のとおりです。
void fill_struct(void* unknown)
{
...
}
不明からわかる唯一のことは、型が設定されている順序です。すなわち
int
int
float
...
string
そして、ここでの主な問題は、整列/パディングです。これを計算する方法も、方法があるかどうかもわからないためです。
この種の質問には、次のように答えることがよくあります。
それらの人々のために: 私は C++ で JSON パーサーを実装していて、(複数の型の配列を表す) 問題に直面しました。私の解決策は、配列の値をカスタム構造体にマップすることです。
私はその解決策に関するフィードバックを受け入れますが、主に質問への回答に関心があります