在给定的对矢量
中static std::vector<std::pair<int,int>> v
当我使用std :: find
搜索向量时,如何忽略其中一个值std::find(v.begin(), v.end(), std::make_pair(first int, /*ignored value*/)) - v.begin();
答案 0 :(得分:2)
使用更好的算法:std::find_if
:
auto it = std::find_if(v.begin(), v.end(), [first](const std::pair<int, int>& elem){
return elem.first == first;
});
或来自range-v3的find
的另一种风格:
auto it = ranges::find(v,
first, // the value
&std::pair<int, int>::first // the projection
);