Это просто ещё больше способов говорить про одно и то же. Но куда же ещё больше?
Потому что каждый такой тип был изобретён разными людьми в разное время и для решения разных проблем.
В Windows самым старым типом является
BOOL
. Он объявляется просто:
typedef int BOOL;Язык программирования C использует тип
int
(т.е. просто число) в качестве логического типа, ну а Windows 1.0 была написана в те времена, когда язык C был главным языком для системного программирования.Далее появляется
BOOLEAN
.typedef BYTE BOOLEAN;Этот тип был введён в OS/2 командой разработчиков NT, когда они решили создать новую операционную систему с нуля. И этот тип перешёл Win32. Сегодня его можно увидеть в тех местах, где проглядывает дизайн из исходной NT - вроде подсистемы безопасности и взаимодействия с драйверами.
VARIANT_BOOL
пришёл несколько со стороны.typedef short VARIANT_BOOL; #define VARIANT_TRUE ((VARIANT_BOOL)-1) #define VARIANT_FALSE ((VARIANT_BOOL)0)Этот тип был придуман разработчиками Visual Basic. Basic использует -1 для представления
true
и 0 для представления false
, поэтому так же был спроектирован и VARIANT_BOOL
.Частая ошибка: когда вы работаете с вариантами (
VARIANT
) типа VT_BOOL
и хотите установить логическое значение "истина", вы должны использовать VARIANT_TRUE
. Многие программисты ошибочно используют TRUE
или true
- но это не то же самое, что VARIANT_TRUE
. Поэтому, поступая так, вы можете запутать некоторые языки (и аналогично - вам следует использовать VARIANT_FALSE
вместо FALSE
или false
. Хотя эти три значения эквивалентны друг другу. Соответственно, подобная ошибка при использовании ложных значений не будет фатальной).Самым новым типом является
bool
, который является типом данных C++ с возможными значениями true
или false
. Вы практически (или даже совсем) не увидите этот тип в Win32, потому что Win32 пытается оставаться C-совместимым.(Заметьте, что "C-совместимость" - не то же самое, что "C-дружественность". К примеру, вы можете работать с COM из чистого C, но это далеко не так же удобно)
Комментариев нет:
Отправить комментарий
Можно использовать некоторые HTML-теги, например:
<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>
Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку.
Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.
Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.
Примечание. Отправлять комментарии могут только участники этого блога.