Frage

Als ich mir einen Code ansah, bemerkte ich, dass ein anderer Entwickler jede Instanz von True zu! Falsch geändert hatte. Warum würdest du das tun? Danke

War es hilfreich?

Lösung

Es gibt keinen guten Grund zu schreiben! Falsch statt wahr.
Schlechte Gründe könnten die Verschleierung (das Lesen schwerer machen), persönliche Vorlieben, schlecht als globales Such- und Replace und Shenanigans, die boolesche Werte in Ganzzahlen umwandeln.

Es ist möglich, dass eine gewisse Verwirrung durch die wahren und falschen Definitionen in Win32 verursacht wurde, die nicht aus Bool, sondern INTs sind und die bei Verwendung in booleschen Aussagen Warnungen auslösen können. Hauptsächlich ist alles ungleich Null "wahr", aber wenn Sie sicherstellen möchten, dass "wahr" immer eins ist, wenn Sie Ganzzahlen anstelle von Booleschen verwenden, sehen Sie manchmal solche Shenanigans. Es ist immer noch kein guter Grund ;-)

Andere Tipps

Ich habe keine Ahnung und schreibe eine Weile C ++. Ich vermute, was auch immer er begründet, waren sie nicht gut.

Ich denke, das ist eine historische Sache. IIRC Es gab ein Problem bei einigen C/C ++ - Compilern, die wissen, was der Compiler als wahr darstellen würde. Sie können wissen, dass False Null ist, daher wird falsch sein, was auch immer der aktuelle Abi als wahr sein wird.

Dies ist generell überflüssig, aber es gibt einige Sonderfall, in denen es nützlich ist, aber ich kann mir nicht vorstellen.

Es könnte notwendig sein, wenn die Linie

#define true false

nur passiert irgendwo in den Headern sein :)

Vielleicht hat er so viele wahre und falsche in seinem Code und wollte ihn leicht umkehren, er kann einfach die Suche seines Herausgebers verwenden und ersetzen,

Ich weiß es nicht wirklich, aber kann wahr sein, ist nicht 1 (irgendetwas> 0) und falsch ist Null, also "nicht falsch" = 1, also wird er an sicheren Ort sein

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top