簡単な質問です。最初にコードします。
struct A {
int x;
};
struct B {
bool y;
};
struct C {
int x;
bool y;
};
メイン関数で、私は呼び出します
cout << " bool : " << sizeof(bool) <<
"\n int : " << sizeof(int) <<
"\n class A : " << sizeof(A) <<
"\n class B : " << sizeof(B) <<
"\n class C : " << sizeof(C) << "\n";
そして結果は
bool : 1
int : 4
class A : 4
class B : 1
class C : 8
クラス C のサイズが 5 ではなく 8 であるのはなぜですか? これは、MINGW 4.7 / Windows 7 / 32 ビット マシンで gcc を使用してコンパイルされることに注意してください。