您的位置:首页 > 其它

STL map操作

2018-03-22 17:12 253 查看

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::end
b716
l;  
    }  
    // 添加  
    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)));  
      
}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  STL