与えられた例のクラス
class test
{
public:
test();
~test();
void someMethod();
void someOtherMethod();
private:
int var;
};
であるsizeof(test) == sizeof(int)
か、またはそのような仮定を行うことはできませんか? プラットフォーム/コンパイラに依存しますか?
編集:
その動機は、ストリームを介してクラスを読み書きすることです。クラスには実際に単一の整数が含まれ、いくつかの便利なアクセス方法があります。整数の最上位バイトはフラグ用に予約されており、下位 3 バイトは整数の 24 ビット数を表します。これを考えると、そのようなクラス変数の配列を書き、必要に応じてそれらをプレーンな int として読み取ることが考えられます。可能な答えがあると引用されている質問は、その側面に対処していません-複数の要素でパディングすることについてです。