c++ STL map的增加删除遍历操作

std::map<uint32_t, int32_t> agent_status;

TEST(conf_session, set_agent_status) {
    int64_t session_id = 123;
    int64_t coroutine_id = 124;
    
    init();
    confmanage::ConfSession cf = confmanage::ConfSession(session_id, coroutine_id, agent_status);
    
    std::map<uint32_t,int32_t>::iterator it;
    // 遍历
    for(it = agent_status.begin(); it != agent_status.end(); ++it) {
       printf("key:%u, value:%d\n",it->first, it->second);
    }
    // 查找
    it = agent_status.find(3555331082);
    if (it != agent_status.end()) {  // find it
        printf("find it! key:%u, value:%d\n",it->first, it->second);
    } else {  // can not find
        std::cout << "can not find 3555331082" << std::endl;
    }
    // 添加
    agent_status[7] = 1;
    agent_status.insert(std::make_pair<uint32_t, int32_t>(6, 0));
    agent_status.insert(std::map<uint32_t, int32_t>::value_type(5, 0));
    EXPECT_EQ(agent_status.size(), ((unsigned int)(5)));
    // 删除
    agent_status.erase(1);                                   //删掉关键字 "7" 对应的条目
    agent_status.erase(enumMap.begin());                         //删掉第一个条目
    agent_status.erase(enumMap.begin(), enumMap.begin() + 1);    //删掉起始的两个条目
    // 获取大小
    EXPECT_EQ(agent_status.size(), ((unsigned int)(2)));
    
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值