Я задавался вопросом, чем различие было между следующими значениями в цели c:
TRUE(uppercase) - true(lowercase) - yes
FALSE(uppercase) - false(lowercase) - no
они окрашены по-другому в IDE, есть ли различные ситуации при использовании различных булевых значений?
Спасибо
Эти значения окрашены по-разному, поскольку они используются в двух разных типах - BOOL
и bool
и представляют собой разные языковые конструкции.
BOOL
- это переопределение макроса signed char
, что означает, что он может иметь более двух значений, а отображение NO
/ FALSE
== 0, ДА
/ ИСТИНА
== 1, вы должны быть осторожны при написании логических выражений и рассматривать любое ненулевое значение как истинное. Значения, которые могут быть присвоены BOOL
, определены как макросы и окрашены соответствующим образом.
Между тем, bool
, с другой стороны, является истинным логическим типом и может иметь только два значения - true
и false
. Его значения являются конструкциями на родном языке и окрашены как таковые.
Вот некоторые другие обсуждения этой темы в рамках SO:
Есть ли разница между ДА / НЕТ, ИСТИНА / ЛОЖЬ и истина / ложь в объекте-c?
Цель-C: BOOL vs bool