次の基本クラスがあり、このクラスのサイズを確認したところ、16バイトが表示されました。fun()からvirtualキーワード を削除すると、4 バイトが表示されます。
この振る舞いがわかりません。ポインタはありますか?
class base
{
public :
int a;
virtual void fun()
{
}
};
gcc バージョン: gcc バージョン 4.1.2 20080704
OS : Linux 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 x86_64 x86_64 GNU/Linux