delete this 问题
为什么delete this以后还可以访问this指针?应该是不可以访问的呀!附上几行代码:
void CWinThread::Delete()
{
if (m_bAutoDelete)
delete this;
}
CWinThread::~CWinThread()
{
if (m_hThread != NULL)
CloseHandle(m_hThread);
AFX_MODULE_THREAD_STATE* pState = AfxGetModuleThreadState();
if (pState->m_pCurrentWinThread == this)
pState->m_pCurrentWinThread = NULL;
}
[解决办法]
在析构函数里面还是可以使用this指针的。不过等析构函数调用完在使用this指针就没什么意义了。
[解决办法]
呵呵,因为delete this;是先调用析构函数,再释放内存,所以在析构函数里对象还是完整的。