以下代码 100% 正确吗?我正在编写游戏代码,CItemElem
它是一个包含Item
诸如电源等信息的类。我想将来自项目的指针存储到另一个名为CChatLink
. 请看一看:
[。H]
#pragma once
class CChatLink
{
private:
CChatLink(){}; //no new usage or global object allowed
~CChatLink(){};
public:
BOOL InsertChatLink( TCHAR* szText, CItemElem *pItemElem );
map<std::string,CItemElem*>m_mChatLink;
static CChatLink* GetInstance( void )
{
static CChatLink pObj;
return &pObj;
}
};
[.cpp]
#include "StdAfx.h"
#include "Item.h"
#include "CChatLink.h"
BOOL CChatLink::InsertChatLink( TCHAR *szText, CItemElem* pItemElem )
{
if( pItemElem && szText )
{
std::string szInsert( szText );
CItemElem *pItem = new CItemElem; //as far as I know, it must be allocated on the heap to be inserted ^^
pItem = pItemElem;
m_mChatLink.insert( make_pair( szInsert, pItem ) );
return TRUE;
}
return FALSE;
}
我可以这样存储std::string
吗map
?
(我目前正在学习 C++,所以请放轻松。)