Archive for 1月 4th, 2010

少し前に見たもの

月曜日, 1月 4th, 2010
picsay-1262613823.jpg

洗車中。

classのインスタンスサイズ

月曜日, 1月 4th, 2010

Visual C++で、アプリを終了するときにメモリリーク1byteという表示が出ていた。まぁメモリリークしている部分はnewしてdeleteを忘れているだけなんだが、1byteというのがいまいち納得がいかず、もしかしてメモリぶっ壊しているのではないかと疑ったが、メンバ変数を持たないクラスは1byteになるらしい。
気になったので実験。

class CaTest{
private:
int test();
// int m_i;
public:
CaTest();
~CaTest();
};
int CaTest::test()
{
return 1;
}
CaTest::CaTest()
{}
CaTest::~CaTest()
{}

CaTest* p = new CaTest();

Visual Studio 2008で、pをdeleteしないで終了すると、メモリリークのサイズは1byte。メンバ変数がない場合はこうなるらしい。
ちなみに、int型を1つ持っている場合メモリリークは4byteとなる。1byteはどこへ?