c++ - 如何获取 std::map 中的键数?
问题描述
在stackoverflow上找不到。
std::map<T>.size()
给出元素的数量,而不是键。
那么如何获取key的数量呢?
解决方案
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
则,这与唯一键值的数量相同。
推荐阅读
- sql-server - 在将触发器转换为 T-SQL 时需要帮助
- jquery - 如何重定向到另一个页面并在该页面上触发事件
- javascript - 将此 javascript 助手更改为 C++ 是否会提高 QML 应用程序的性能?
- ios - 比链式代表更好的处理 xib 按钮按下的方法?
- c# - 一键拉取刚刚存入数据库的数据
- java - Spring Boot 未绑定到 Tomcat 端口
- swift - 如何在swift 4中动态加载tableview
- reactjs - 如何在导入笑话测试时模拟 IIFE
- laravel - 我想检查 required_if 的多个条件
- python - 越过 sys.excepthook