web-dev-qa-db-fra.com

c ++ bool question

en c ++, le bool, est-ce vrai == 1, faux == 0 ?? Merci

42
Don Lun

false == 0 et true = !false

c'est-à-dire que tout ce qui n'est pas zéro et qui peut être converti en un booléen n'est pas false, donc il doit être true .

Quelques exemples pour clarifier:

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

true évalue à 1, mais tout int qui n’est pas false (c.-à-d. 0) évalue en true mais n'est pas égal à true puisqu'il n'est pas égal à 1.

87
Andrew Marshall

Oui c'est correct. "Les variables booléennes n'ont que deux valeurs possibles: true (1) et false (0)." tutoriel cpp sur les valeurs booléennes

2
It Grunt