В C#
мне нравится TryGetValue
метод Dictionary
потому что это позволяет мне в одном вызове определить, содержит ли словарь ключ и получить значение, если так:
Instrument instrument;
if (isinId2Instrument.TryGetValue(isin_id, out instrument))
{
// key exist, instrument contains value
} else {
// key doesn't exist
}
Как мне сделать то же самое с boost::unordered_map
?
использование boost::unordered_map::find()
:
boost::unordered_map<std::string, int>::iterator i = m.find("hello");
if (i != m.end())
{
std::cout << i->first << "=" << i->second << "\n";
}
else
{
std::cout << "Not found\n";
}
Других решений пока нет …