gpt4 book ai didi

c++ - 如何计算 C++ 映射中给定 VALUE(!) 的数量?

转载 作者:行者123 更新时间:2023-11-30 00:35:30 24 4
gpt4 key购买 nike

我在其他 iOS/ObjC 项目中确实有一个 cpp 类。它使用以下 map :

std::map <std::string, int> testMap;

我知道我可以通过 testMap.count 来“计算”给定键在该 map 中出现的次数。但是我如何计算给定值在该 map 中出现的次数?

例如假设有以下 map :

<Anna, 5>
<Brian, 4>
<Cesar, 4>
<Danny, 3>

--> 因此,如果我查找值“4”的数量,函数应该返回 2,对于值“5”和“3”,它应该分别返回 1,否则返回 0...

提前致谢!

最佳答案

最简单的方法可能是使用带有适当 lambda 的 std::count_if:

int value = 4; // or something else

std::count_if(std::begin(testMap),
std::end (testMap),
[value](std::pair<std::string, int> const &p) {
return p.second == value;
});

这只是遍历 map 并计算所有符合谓词的元素。

关于c++ - 如何计算 C++ 映射中给定 VALUE(!) 的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27837893/

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