首页 > 解决方案 > 如何获取 std::map 中的键数?

问题描述

在stackoverflow上找不到。

std::map<T>.size()

给出元素的数量,而不是键。

那么如何获取key的数量呢?

标签: c++

解决方案


std::map<T>.size()

给出元素的数量键。这是一场1对1的比赛。

Amap具有您尝试插入到地图中的所有键的联合。如果通过insert/插入已经存在的键将被拒绝,emplace但如果使用插入完成,则值映射将被替换operator[]

在映射中,只能映射一个 。这是一本字典。


变体:

multimap(和multiset)版本。在multimap多个相等的键可能映射到不同的实体。

A -> foo 
A -> apa
B -> bar
B -> bepa

在这种情况multimap下,大小将是4映射元素的数量,而不是唯一键的数量(这不是多映射关注的问题)。


正则的size()成员函数map和 amultimap返回映射元素的数量,对于正map则,这与唯一键值的数量相同。


推荐阅读