概述
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:%dn",it->first, it->second);
}
// 查找
it = agent_status.find(3555331082);
if (it != agent_status.end()) {
// find it
printf("find it! key:%u, value:%dn",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)));
}
最后
以上就是光亮小伙为你收集整理的c++ STL map的增加删除遍历操作的全部内容,希望文章能够帮你解决c++ STL map的增加删除遍历操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复