2017-01-06 11 views
0

У меня есть зЬй :: карта, которая отображает структуру в строку:C++ станд :: карта искать значений, но не ключи

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 
    } 
}