CString在線程處理中,稍有處理不當(dāng),極易引起內(nèi)存泄漏。
讓我們來看一個(gè)例子:
在線程函數(shù)中使用如下代碼
CString strstate;
strstate.Format("正在解密,請稍后... (共 %d 張地圖)",p->m_countmap);
可以看到非常簡單,在debug下,很容易看到如下的內(nèi)存泄漏。

怎么回事?
先把修改好的代碼放上來
CWin32Heap stringHeap( HEAP_NO_SERIALIZE, 0, 0 );
CAtlStringMgr stringMgr( &stringHeap );
CString strstate(&stringMgr );
strstate.Format("正在解密,請稍后... (共 %d 張地圖)",p->m_countmap);
如上代碼才具有線程安全性。