我在我的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