Ich muss davon ausgehen, dass Ihr #comment
darüber, wie billig (=schnell) der Gleichheitstest ist, war nicht ohne Grund da. In Anbetracht dessen sollten Sie wahrscheinlich weiterhin den billigen Gleichheitstest verwenden. Er ist sehr schnell, viel schneller als eq
geschweige denn als irgendeine Art von tiefem Vergleich.
Es ist möglich, dass ein Objekt mit einer direkt oder indirekt überladenen ==
Der Betreiber könnte den Test für seine eigenen Zwecke missbrauchen. Wenn er aber est Wenn Sie das tun, werden Sie vielleicht sogar seine vermittelte Antwort vorziehen.
Welchen Ansatz Sie wählen, kann davon abhängen, was Sie über die Klassen des Objekts wissen. Ansätze, die für allgemeine Fälle gelten, sind für spezielle Fälle nicht immer optimal. Je mehr Sie über etwas wissen, desto mehr können Sie es optimieren - und umgekehrt.
Wenn Sie also wissen dass Sie keine Klasse mit anwendbaren Überladungen verwenden, gibt es keinen Grund, eine nicht gebaute Bibliotheksfunktion einzuschleppen, und einen guten Grund, es nicht zu tun. Wenn Sie nicht über das Überladen wissen, oder Sie wissen über sie und wollen nicht, dass sie gelten, dann vielleicht nehmen Sie die langsame Ansatz.
Solange Sie verstehen. Es ist ein Fehler, den einen Ansatz für richtig und den anderen für falsch zu halten. Jede hat ihren Zweck. Wenn es immer falsch wäre, das zu tun, was Sie gerade tun, dann wäre dieser Vorgang entweder verboten oder es würde zumindest davor gewarnt.
Sie werden feststellen, dass es sich um no so gekennzeichnet.