版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xh_xinhua/article/details/74833849
三种插入方式:
2.1.1用insert方法插入 pair 对象:
enumMap.insert(pair<int, Cstring>(1, “One”));
2.1.2 用insert方法插入 value_type 对象:
enumMap.insert(map<int, Cstring>::value_type (1, “One”));
2.1.3 用数组方式插入值:
enumMap[1] = "One";
enumMap[2] = "Two";
查找:
typedef std::map<String, ICheckStatus*> CheckHandlerMap;
private:
CheckHandlerMap m_mHandler;
m_mHandler[1] = "0x96956";//插入值
/*查找*/
//const Char* 1 = monitored_files[progrss_num];
ICheckStatus* handler = Hthis->m_mHandler[1];//handler = 0x96956
查找:
/*容器定义*/
typedef std::map<String, std::set<IServiceEventHandler*> > SvcEvtHandlerMap;
private:
SvcEvtHandlerMap m_mHandler;
/*用一个特征值去找索引,因为不知键存放在容器的什么位置*/
SvcEvtHandlerMap::iterator it = pThis->m_mHandler.find(ievt[i].name);
/*如果 it(键)为空,表示没有找到*/
if (it == pThis->m_mHandler.end())
return;
/*查找 it(键)所对应的值itHandler*/
std::set<IServiceEventHandler*>::iterator itHandler;
for (itHandler = it->second.begin(); itHandler != it->second.end(); itHandler++)
{
IServiceEventHandler* pHandler = (*itHandler);
if (pHandler)
{
pHandler->OnServiceEvent(svc_evt);
}
}