12/05/13 18:06:33.52
※↑は間違いです。失礼
---
試してみました。環境はVC++2010EE SP1です。リリースもデバッグビルドも同じ結果でした。
---
struct A{ void f(){} };
struct B{ void g(){} };
struct C : public A { char a; };
struct D : public A, public B { char a; };
struct E : { char a; void f(){} void g(){} };
size of struct C is 1
size of struct D is 2
size of struct E is 1
---
このDが2になるのは何で?
再利用性を損なわずEのように1にしたい。
メタプログラムは避けたい。