【发布时间】:2022-01-05 19:42:37
【问题描述】:
您好,我目前遇到一个问题,或者我的想法太复杂了。
我有一张像这样的地图:
std::map<int,int> mymap;
然后我插入值这样做
std::map<char,int>::iterator it = mymap.begin();
mymap.insert (it, std::pair<int,int>(1,300));
现在我想知道地图是否包含值 300。
假设我有一个名为 input 的变量,其值为 300。
int input = 300;
现在有了这个输入,我想检查我的地图中是否存储了值 300。
我知道使用 map.find() 我可以检查地图中是否存在某个键。
但在我的情况下,我不能使用 map.find(input),因为 300 不是关键,而是价值。
如何检查我的地图中是否有 300 的值?
【问题讨论】:
-
唯一的办法就是遍历整个地图。
-
@TylerLiu 那么在这种情况下,我的密钥有点不必要,对吗?因为在遍历整个地图时我不需要它
-
您还可以添加另一个将值映射到键的映射。
-
@konoha 在不了解更多上下文的情况下很难说。仔细检查地图是否真的是您需要的,而不是列表。在这种情况下,密钥的作用是什么?它代表什么?
标签: c++ dictionary stdmap