我有一个std :: map,它将结构映射到字符串:
struct st
{
std::string name;
int age;
}
std::map<st, std::string> m_SoundStructList;
现在我想根据一个字符串来查看地图,这是一个名称并获得结构。
std::string lName="Kate"
auto iter = m_SoundStructList.find(lName);
st lStruct=it->fisrt;
现在我只能在结构上应用find而不是字符串。
任何帮助都将不胜感激。
答案 0 :(得分:0)
您可能需要遍历地图并手动使用匹配元素。
对于C ++ 11,它将是
for(const auto& p : m_SoundStructList) {
if (p.second.name == "Kate") {
// Do something
}
}