class MemoryLeakCheck
{
public:
    
~MemoryLeakCheck(void);
    
static MemoryLeakCheck & GetInstance();
    
void AddCheck( void * _pObj ,std::string _strBindData);
    template
<typename T>
    
void RemoveCheck(T * _pObj )
    
{
        Thread::Lock::CReadWriteLock::CWriteLock _Lock( m_RWLock );
        std::map
<void* ,_ReleaseObjInfo>::iterator it = m_ReleaseObjMap.find((void*) _pObj );
        
if( it != m_ReleaseObjMap.end()  )
        
{

            m_ReleaseObjMap.erase( it );
        }

        m_SizeAll 
+=sizeof(T);
        
static int i = 0;
        
if( i ++ >256 )
        
{
            i 
= 0;
        }

    }

private:
    MemoryLeakCheck(
void);
    
//省略
}
;