我在比较对时有这个问题。我希望对我的向量使用find()
,其中包含如下对:
vector<pair<PersonID, Cost>> friendlist;
PersonID
和Cost
都是常规内容。这里的问题是我想在find()
上专门使用PersonID
,我对Cost
不感兴趣。
if(friendlist.begin(), friendlist.end(), std::make_pair(toid, Cost)) !=
friendlist.end() )
toid
这是我想在向量中查找的id。那么我应该对make_pair
需要的其他字段做些什么呢?
答案 0 :(得分:6)
std::find_if(friendlist.begin(), friendlist.end(),
[=](const std::pair<PersonID, Cost>& elem) {
return elem.first == toid;
});