找出两组是否不同的最快方法是什么?使用std::set_difference
让我得到了所有的差异,但我只需要知道第一个差异。
目前,我正在执行以下操作:
bool areSetsDifferent(const std::set<MyClass> &myClassSet1, const std::set<MyClass> &myClassSet2) {
if (myClassSet1.size() != myClassSet2.size()) {
return true;
}
std::vector<MyClass> diffs(myClassSet1.size());
auto iter = std::set_difference(myClassSet1.begin(), myClassSet1.end(), myClassSet2.begin(), myClassSet2.end(),
diffs.begin());
return iter != diffs.begin();
}