당신은 이것을 쓸 수 있습니다 :
Pair v = *find_if(m.begin(), m.end(), [](const Pair & p) {
return p.second == 3;
});
처음부터 캡처 할 필요가 없습니다.
BTW, 당신은 가정해서는 안됩니다 std::find_if
요소를 찾을 것입니다. 더 좋은 방법은 반복자를 사용하는 것입니다.
auto it = find_if(m.begin(), m.end(), [](const Pair & p) {
return p.second == 3;
});
if (it == m.end() ) { /*value not found*/ }
else {
Pair v = *it;
//your code
}