Wenn NICHT grösser
-
Bei b = 0 ist nicht garantiert, dass !b = 1 ist!
-
Ok das wundert micht.
Kannst du mir das begründen? Also ist jetzt reine Neugierde.
-
Skym0sh0 schrieb:
Bei b = 0 ist nicht garantiert, dass !b = 1 ist!
Ähm, doch? Standardlesen bildet.
-
Skym0sh0 schrieb:
Bei b = 0 ist nicht garantiert, dass !b = 1 ist!
In bin mir nicht sicher, aber ich glaube schon, dass im Standard definiert ist, dass bei bool -> int immer nur 0 und 1 herauskommt.
-
Hätte ich nun jetzt auch gedacht da 0 ja als false interpretiert wird. Würde heißen !false == true.
-
Ok
§4.7.4 schrieb:
If the destination type is bool, see 4.12. If the source type is bool, the value false is converted to zero and the value true is converted to one.
Ich hab eigentlich einfach nur umgekehrt gedacht, alles was nicht null ist wird zu true gemacht, wenn bool der Zieltyp ist. Und ich dachte halt vice-versa.
-
Skym0sh0 schrieb:
Ich hab eigentlich einfach nur umgekehrt gedacht, alles was nicht null ist wird zu true gemacht, wenn bool der Zieltyp ist. Und ich dachte halt vice-versa.
Nein. Daher kommen so komische Tricks wie
!!integer_variable
, die man manchmal sieht, um einen Zahlenwert zu 0 oder 1 zu machen.
-
Mh, wieder was gelernt.
Ich sollt echt mal öfters im Stadnard blättern...
-
@Skym0sh0:
Ich hab auch was gelernt!
Vor allem hat mich das grade gefreut das ich das noch mal gefragt habe.
Ich mein du bist ja nun wirklich schon länger mit C++ am machen als ich.
-
Dafür ist das Forum da. Und wenn man nicht lernresistent ist, kommt hier echt einiges bei rum.
Aber jetzt mal ohne Spass, ich war von meiner ehemaligen Meinung echt 100%ig überzeugt, dann guck ich in den Standard und fall vom Stuhl...