в С++, bool, это true == 1, false == 0?? спасибо
С++ bool question
Ответ 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.
Ответ 2
Да, это правильно. "Логические переменные имеют только два возможных значения: true (1) и false (0)". учебник cpp по логическим значениям