// $Id: page03.html,v 1.9 1999/09/22 03:13:44 jcej Exp $
#ifndef BLOCK_H
#define BLOCK_H
#include "ace/Message_Block.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
/* This simple ACE_Message_Block derivative will inform us of it's
construction and destruction. We'll use this to assure ourselves
that we don't have any memory leaks. In a real application, of
course, this isn't necessary. */
class Block : public ACE_Message_Block
{
public:
Block (void)
{
ACE_DEBUG ((LM_DEBUG,
"(%P|%t) Block ctor 0x%x\n",
(void *) this));
}
Block (size_t size)
: ACE_Message_Block (size)
{
ACE_DEBUG ((LM_DEBUG,
"(%P|%t) Block ctor 0x%x\n",
(void *) this));
}
virtual ~Block (void)
{
ACE_DEBUG ((LM_DEBUG,
"(%P|%t) Block dtor 0x%x\n",
(void *) this));
}
};
#endif /* BLOCK_H */
Ok, nothing really magic there. Some folks just feel a little uncomfortable not doing an explicit delete on objects they've new'd so I wanted to show you that the memory really does get cleaned up.