使用了垃圾回收算法后,GC_Free( )一般只由垃圾回收算法來調用,用戶就不需要調用GC_Free( )了,也不需要花費時間去關心內存釋放的問題了。
下面給出使用GCPtr類管理引用計數的一個初步編碼實現。
/* 支持垃圾內存回收的GCPtr類,使用模板實現 */
template <class T> class GCPtr {
public:
T *m_pAddr; /* 用來記住定義的指針地址便于析構函數使用 */
public:
GCPtr(T *t = NULL)
{
m_pAddr = t;
INT *p = (INT *)m_pAddr-1;
*p += 1;
};
~GCPtr()
{
T *p = m_pAddr;
INT *p = (INT *)m_pAddr-1;
*p-= 1;
};
};
文章來源于領測軟件測試網 http://www.kjueaiud.com/