クラスには 2 つの整数が含まれます。このクラスには 2 つのインスタンスがあります。それらを比較して、2 つのインスタンスに同じ 2 つの数値が含まれていることを確認します (順序は関係ありません)。
私がすることができます:
bool operator==(const Edge &e, const Edge &f) {
return ((e.p1 == f.p1) || (e.p1 == f.p2)) && ((e.p2 == f.p1) || (e.p2 == f.p2));
}
これが最善の方法ですか?そのような比較はたくさんあるので、最も効率的な選択を確実に行いたいと思います。std::unordered_set
ところで、この情報が重要な場合に備えて、演算子は主にクラスによって使用されます。