template< class T >
class CAutoPtr
{
public:
T* m_p;
CAutoPtr(T* p) : m_p(p)
{
}
~CAutoPtr()
{
delete m_p;
}
operator T*() const
{
return (T*)m_p;
}
T& operator*() const
{
_ASSERTE(m_p!=NULL);
return *m_p;
}
T** operator&()
{
_ASSERTE(m_p==NULL);
return &m_p;
}
T* operator->() const
{
_ASSERTE(m_p!=NULL);
return m_p;
}
};
C++实现的垃圾回收机制
最新推荐文章于 2024-08-05 20:10:12 发布