我有struct
一个名字和号码:
struct S {
string name;
int number;
};
的对象S
存储在向量中。向量基于 排序name
。可能有超过 1 个项目具有相同的name
.
在遍历向量中的项目时,我试图用来count_if
检测重复项:
for(size_t i = 0; i < v.size(); ++i)
{
const S& s = v[i];
int count = count_if(v.begin(), v.end(), XXX);
// do something with count
}
在上面,我无法弄清楚 XXX 应该是什么。我试图创建一个谓词,但它非常无用,因为没有什么可比较的:
bool IsEqualName(const S& s) {
return s.name == ???;
}
我找到的文档还有很多不足之处。
我觉得我错过了一些非常明显的东西,但我不明白它是什么。谁能指出我的错误?
杰夫