为什么std :: map有一个称为count的成员函数?

时间:2018-12-04 14:34:25

标签: c++ std stdmap

我正在学习C ++,显然正在使用一种成员函数std::map来检查count中是否存在特定键。

我的第一个想法是:这些键不是唯一的吗?并且检查documentation的确是唯一的,因此count将返回0或1。

将其称为count是否有点违反直觉?为什么不exist呢?

对我来说,在一个列表中您会期望出现一个元素,因此计数是有意义的,但是如果只允许该方法返回1或0,则对我来说是没有意义的。

我想念什么吗?有理由称其为count还是命名错误?

2 个答案:

答案 0 :(得分:8)

有点像使用方法.numberOfWives()来确定您是否已婚。做这项工作并帮助构建通用代码。

当然,它通常是 0或1(std::map),但可能不止一个(std::multimap或一夫多妻制管辖区)。

答案 1 :(得分:0)

名称​​ count 可能与其他容器(例如 std :: multimap std :: multisets )统一。 / p>