gpt4 book ai didi

c++ - 为什么 unordered_set 操作像计数和删除返回一个 size_type?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:14 27 4
gpt4 key购买 nike

显然,unordered_set::eraseunordered_set::count返回一些不是严格 bool 值的东西(从逻辑上讲,也就是说,我不是在谈论实际类型)。

链接页面读取第三个版本的删除:

size_type erase( const key_type& key );

Removes the elements with the key value key

这有一种语气,表明可能不止一个元素具有给定的键。它没有明确说明这一点,但听起来很像。
现在,集合(即使是无序集合)的要点是每个元素都有一次。

标准库承认 bool 类型的存在并将其用于 bool 值,如 unordered_set::empty() . 那么,在上述情况下返回 size_type 有什么意义呢?即使存在哈希冲突,容器也应该区分具有不同键的元素,对吗?我还能依赖它吗?

最佳答案

a.erase(k) size_type Erases all elements with key equivalent to k. Returns the number of elements erased.

b.count(k) size_type Returns the number of elements with key equivalent to k.

这是因为 unordered associative container requirements [23.2.5].

关于c++ - 为什么 unordered_set 操作像计数和删除返回一个 size_type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11859262/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com