关联容器map用法实例

三种插入方式: 
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);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值