在尝试删除元素之前,是否需要检查unordered_set是否包含元素?

时间:2019-03-30 09:30:24

标签: c++ c++11

说我有一套:

std::unordered_set<int> mints;

然后我这样做:

mints.erase(foo);

但是薄荷糖不含foo!是否保证不会发生任何不良情况,并且擦除将仅返回0?

1 个答案:

答案 0 :(得分:2)

如果您使用erase()重载了erase( const key_type& key )并且密钥不存在,那么不会发生任何不好的情况,它将是空操作,并且erase()将返回{{ 1}}。