2017-01-06 30 views
0

我有一個std ::地圖,一個結構映射到一個字符串:C++的std ::地圖查找值,但沒有鑰匙

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; 

現在只有我可以應用查找結構,但字符串。

任何幫助,將不勝感激。

回答

0

您可能必須迭代映射並手動使用匹配元素。

對於C++ 11將是

for(const auto& p : m_SoundStructList) { 
    if (p.second.name == "Kate") { 
     // Do something 
    } 
}