Bei einem Vergleich auf einem ifstream wird operator void*
aufgerufen. Wenn Sie Visual Studio verwenden, können Sie dies sehen, wenn Sie sich die Disassemblierung des Codes ansehen.
Der Operator kann hier gefunden werden. Wie Sie sehen können:
Der zurückgegebene Zeiger soll nicht referenziert werden, er zeigt nur Erfolg an, wenn keine der Fehlerflags gesetzt ist.
Wenn also beide ifstreams fehlschlagen, sind sie gleich. Wenn sie erfolgreich sind (obwohl ich nicht sicher bin, woher der Zeigerwert kommt), werden sie nicht gleich sein [das wurde auf VS getestet].
Tags und Links c++