关于布尔类型的几个变种的解释

【关于布尔类型的几个变种的解释】这个问题,一直深深地困扰着我 。
我们经常看到关于布尔类型的各种定义:BOOL,VARIANT_BOOL,BOOLEAN,bool 。
为什么同样一件事情,要定义这么多不同的类型 。是不是觉得这个世界不够复杂?
如果用一句话概括:因为以上的每一个类型,都是为了在某个时间为某一类人群解决某一种问题 。
BOOL是最为古老的类型,它的定义很简单:typedef int BOOL;
在C语言中,使用到了int来表达一个布尔类型 。在Windows 1 。0那个时候,C语言是用于系统编程的热门语言 。
接下来是BOOLEAN 。它的定义为:typedef BYTE BOOLEAN;
这个类型由OS/2 NT开发团队所创造,主要是为了重新从零开始开发一个全新的操作系统 。
我们可以从这个类型的设计中,窥视原始Windows NT的设计,例如安全子系统和与驱动程序的交互 。
接下来是VARIANT_BOOL,如下图所示:

    推荐阅读