C++中 bool,BOOL ,VARIANT_BOOL 的区别


1.小写的bool 的是C++ 标准定义的布尔类型, 各个编译器处理的方式不同,Visual C++ 把bool 定为一个字节。小写的true 和 false 也都是C++ 标准定义的关键字。



2.大写的BOOL 是Windows 里面定义的布尔类型,实质上int, 在 windows 头文件面有定义:



typedef int BOOL;



#define TRUE 1
#define FALSE 0



 



3.VARIANT_BOOL 是COM 使用的布尔类型, 其实质上是 short 类型:



typedef short VARIANT_BOOL;



#define VARIANT_TRUE ((VARIANT_BOOL)-1)



#define VARIANT_FALSE ((VARIANT_BOOL)0)