【发布时间】:2021-02-08 18:23:19
【问题描述】:
最近去使用std::unordered_map::erase,发现函数有一些重载:
iterator erase( const_iterator pos ); (1) (since C++11)
iterator erase( iterator pos ); (1) (since C++17)
iterator erase( const_iterator first, const_iterator last ); (2) (since C++11)
size_type erase( const key_type& key ); (3) (since C++11)
并且在函数返回值的描述中提到:
Return value
1-2) Iterator following the last removed element.
3) Number of elements removed.
最后一个 (3),表示我们可以拥有已移除元素的数量。这是否意味着地图上可以有相同的键?
【问题讨论】:
-
@MooingDuck 一个多图肯定可以有多个等效键。
-
确实(和这个问题的答案有关)
-
@Ghasem Ramezani 表示有 unordered_multimap 有类似的功能。所以他们的行为是相同的。
标签: c++ unordered-map