這是否會導致內存泄漏,因爲pWinsock未被刪除?以下5行代碼是否會導致內存泄漏?
Winsock* CreateWinsock()
{
Winsock* pWinsock=new Winsock;
return pWinsock;
}
編輯:其實,我不能刪除我的指針,因爲它是遊戲(pWinsock)的成員收到新創建的Winsock在上面的代碼。這有什麼不對嗎?
class Game{
public:
Game();
~Game();
void CreateWindowClass(HINSTANCE);
void CreateRessources(HINSTANCE);
void ShowLoginScreen();
HWND Getm_hWnd();
public:
D2DResources* pD2DResources;
Winsock* pWinsock;
MessageLog* pMessageLog;
private:
HWND m_hWnd;
};
只要你在其他地方刪除它。真的,智能指針有幫助。 – chris 2013-03-17 18:38:00
你**不能**刪除這個函數,因爲那樣你會返回一個懸掛指針。 – us2012 2013-03-17 18:38:43
你的意思是智能指針有幫助嗎? – 2013-03-17 18:38:57