如何在boost :: unordered_map中实现TryGetValue?

时间:2013-05-01 10:08:21

标签: c++ boost boost-unordered

C#我喜欢TryGetValue的{​​{1}}方法,因为它允许我在一次调用中确定字典是否包含键和接收值,如果是这样的话:

Dictionary

我应该如何对Instrument instrument; if (isinId2Instrument.TryGetValue(isin_id, out instrument)) { // key exist, instrument contains value } else { // key doesn't exist } 做同样的事情?

1 个答案:

答案 0 :(得分:6)

使用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";
}