显然,unordered_set::erase
并unordered_set::count
返回一些不是严格布尔值的东西(从逻辑上讲,我不是在谈论实际类型)。
链接页面读取第三版擦除:
size_type erase( const key_type& key );
删除具有键值键的元素
这有一种语气,表明给定键的元素可能不止一个。它没有明确说明这一点,但听起来很像。
现在,集合的要点,即使是无序的集合,也是每个元素都有一次。
标准库承认该bool
类型的存在并将其用于布尔值,如unordered_set::empty()
. 那么,size_type
在上述情况下,返回有什么意义呢?即使存在哈希冲突,容器也应该区分具有不同键的元素,对吧?我还能依靠吗?