是否有更简单的方法来检查std::unordered_map::insert
调用是否成功,而不是编写这个庞大的代码块?
std::pair< T1, T2 > pair(val1, val2);
std::pair< std::unordered_map< T1, T2 >::const_iterator, bool> ret =
_tileTypes.insert(pair);
if(!ret.second) {
// insert did not succeed
}
答案 0 :(得分:12)
如何:
if(!_tileTypes.insert(std::make_pair(val1, vla2)).second) {
// insert did not succeed
}
答案 1 :(得分:11)
if (!_tileTypes.insert(pair).second)
或者,typedef可以用来整理这类东西。
此外,如果您使用的是C ++ 11,则可以使用auto
关键字来推断类型:
auto ret = _tileTypes.insert(pair);