我在我的API中隨機生成sessionId
。對於一個sessionId
,我需要同時將userId
(對sessionId
所屬的用戶)和用戶類型(例如,管理員,所有者等)進行保存。C++類映射對象
這是我的HashMap:
std::map<std::string, SessionData*> sessionMap;
這是我SessionData
類:
class SessionData
{
public:
SessionData(std::string pUserId, std::string pUserType)
{
userId = pUserId;
userType = pUserType;
}
~SessionData()
{
}
std::string userId;
std::string userType;
};
現在我不覺得我的問題的任何解決方案。如何在地圖上保存sessionId
的userId
和userType
?我有char sessionId[80]
已經有我的算法生成sessionId
(算法對於這種情況並不重要)。我在C++新的,但我認爲這是類似的東西:
sessionMap[sessionId].insert();
但我不知道如何插入userId
和userType
,因爲我的地圖是關鍵< - >對象。關鍵是sessionId
和對象是我的類SessionData
有userId
和userType
。
編輯1:
我typedef結構映射:在地圖
typedef std::map<std::string, SessionData*> sessionMap_map_t;
sessionMap_map_t sessionMap;
新的插入數據(當前時間):
sessionMap.insert(std::make_pair(sessionId,new SessionData(userId,userType,currentTime)));
我的地圖迭代(我需要每循環訪問currentTime while循環內
sessionMap_map_t::iterator itSessionMap = sessionMap.begin();
while(itSessionMap != sessionMap.end())
{
//TODO: Get currentTime
}
與您的問題無關,但您的術語有點偏離。 ['std :: map'](http://en.cppreference.com/w/cpp/container/map)類不是*「* hashmap」。它通常使用樹來實現。 ['std :: unordered_map'](http://en.cppreference.com/w/cpp/container/unordered_map)*是*「hashmap」。 –
謝謝。我是C++新手,所以一些術語對我來說還不清楚。我已經更正了地圖。 – Pik93