考虑以下小代码:
class Person {
public:
QString name;
int age;
};
int main()
{
QMultiHash<int, Person*> personHash;
Person* p1 = new Person;
p1->age = 24;
p1->name = "X";
personHash.insert(p1->age,p1);
Person* p2 = new Person;
p2->age = 24;
p2->name = "X";
if(personHash.contains(p2->age,p2)) {
cout << "Duplicate!!\n";
}
else {
cout << "Inserted!!\n";
}
return 0;
}
输出已插入!!这是意料之中的,因为哈希比较的是指针值而不是内容。
有没有一种方法可以检查重复项而无需使用 24 键迭代条目?