以字符串为键的C++列表

C++ List with string as key

本文关键字:C++ 列表 字符串      更新时间:2023-10-16

我是C++的新手,尝试使用字符串作为键从映射中存储和读取整数。这个问题可能是重复的,但我尝试了很多方法,但都没有奏效:/

感谢您的帮助:)

具体问题:如何在使用字符串作为关键字并避免重复条目的情况下存储和获取映射中的对象?

#include <map>
std::map<std::string, int> relation_map;
void setRelationState(std::string guid, int rel){
    if (relation_map.find(guid) != relation_map.end()){
        std::map<std::string, int>::iterator it = relation_map.find(guid);
        it->second = rel;
        return;
    }
    relation_map.insert(pair<std::string, int>(guid, rel));
}
int getRelationState(std::string guid){
    if (relation_map.find(guid) != relation_map.end())return relation_map[guid];
    return 1;
}

欢迎使用c++,请使用下面的代码作为做你想做的事情的参考。。//声明地图

std::map <int, std::string> stdBindList;
std::map <int, std::string>::iterator pos;
//Add Elements
stdBindList.insert (std::pair<int,std::string>(15,”a”)); // 1
stdBindList.insert (std::pair<int,std::string>(22,”b”)); // 2
stdBindList.insert (std::pair<int,std::string>(12,”c”)); // 3
stdBindList.insert (std::pair<int,std::string>(15,”d”)); // 4
stdBindList.insert (std::pair<int,std::string>(5,”e”)); // 5
stdBindList.insert (std::pair<int,std::string>(5,”f”)); // 6
stdBindList.insert (std::pair<int,std::string>(2,”g”)); // 7
stdBindList.insert (std::pair<int,std::string>(5,”h”)); // 8
stdBindList.insert (std::pair<int,std::string>(5,”i”)); // 9
//iterate and print
for (pos = stdBindList.begin();pos!=stdBindList.end();pos++)
{
}