c ++、boolでは、true == 1、false == 0 ??ありがとう
false == 0
およびtrue = !false
つまり、ゼロではなく、ブール値に変換できるものはfalse
ではないため、must be true
です。
明確にするためのいくつかの例:
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
評価 to 1
、ただしint
ではないfalse
(つまり0
)評価からtrue
になりますが、等しいからtrue
にはなりません。これは、1
に等しくないためです。
はい、それは正しいです。 「ブール変数には、true(1)とfalse(0)の2つの値しかありません。」 ブール値に関するcppチュートリアル