Я новичок в C ++ (и довольно плохо знаком с программированием в целом), и я читал книгу о колледже C ++ («Начинаем с C ++ Early Objects», 9-е издание Гаддиса, Уолтерса и Муганды), когда наткнулся на заметку отип данных bool.
"ПРИМЕЧАНИЕ: обратите внимание, что true и false не имеют кавычек вокруг них. Это потому, что они являются переменными, а не строками."
Теперь из того, что яузнал, переменные могут быть изменены.Я понимаю, что переменная типа данных bool будет переменной, но почему true
и false
считаются переменными?
Насколько я понимаю, false
хранится как целочисленное значение 0
и true
как целочисленное значение 1
.Я попытался присвоить значения x
, где x
- это 0<x<0
для bool, и все они вывели 1
, что заставило меня прийти к выводу, что true
- это также все, кроме 0
(другими словами, trueэто то же самое, что и !false
?).
Так что, если это так, почему «ложь» считается переменной, а не константой?