С++ bool question

в С++, bool, это true == 1, false == 0?? спасибо

Ответ 1

false == 0 и true = !false

то есть. все, что не равно нулю и может быть преобразовано в boolean, не является false, поэтому оно должно быть 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 оценивается как 1, но любой int, который не является false (т.е. 0), принимает значение true, но не равен true, так как он не равен 1.