it-swarm.com.de

C ++ Bool Frage

in c ++ ist der Bool, dass true == 1, false == 0 ?? Vielen Dank

42
Don Lun

false == 0 Und true = !false

d.h. alles, was nicht Null ist und in einen Booleschen Wert umgewandelt werden kann, ist nicht false, daher ist es musstrue.

Einige Beispiele zur Verdeutlichung:

if(0)          // false
if(1)          // true
if(2)          // true
if(0 == false) // true
if(0 == true)  // false
if(1 == false) // false
if(1 == true)  // true
if(2 == false) // false
if(2 == true)  // false
cout << false  // 0
cout << true   // 1

truewertet aus zu 1, aber zu jedem int, das nicht false ist (dh 0) - wertet aus zu true, ist aber nicht gleich zu true, da es nicht gleich 1 ist.

87
Andrew Marshall

Ja, das ist richtig. "Boolesche Variablen haben nur zwei mögliche Werte: true (1) und false (0)." CPP-Tutorial zu Booleschen Werten

2
It Grunt