【发布时间】:2018-06-01 22:54:49
【问题描述】:
我有一张这样的地图(第一个和第二个参数都是唯一的):
std::map<DWORD, DWORD> mapTest;
mapTest.insert(make_pair(1, 101));
mapTest.insert(make_pair(2, 102));
mapTest.insert(make_pair(3, 103));
我有一个搜索器,它非常适合地图的第一个值:
bool SearchInMap(DWORD firstmap, DWORD * secondmap)
{
if (mapTest.end() == mapTest.find(firstmap))
return false;
*secondmap = mapTest[firstmap];
return true;
}
但我需要另一种方法,它可以在第二个参数中搜索,看起来就像我展示的那样。如果可能的话,我不想使用 for 或 while 循环。据我所知,我可能需要 find_if 搜索,但我无法处理。
提前感谢您的帮助!
【问题讨论】:
-
第二个参数搜索是什么意思?
-
@0x499602D2 我的意思是 101、102、103 值。
-
@PaulVarghese 谢谢,它正在工作!但是我们可以用 find 或 find_if 或类似的东西来做吗?
-
@Gregori 이원용对该副本的回答显示了
find_if的一个可能示例