您的位置:首页 > 编程语言 > C语言/C++

[Windows编程] C++中 bool,BOOL ,VARIANT_BOOL 的区别

2009-03-14 13:29 357 查看
接上篇,继续讨论BOOL变量。 Windows 中BOOL变量常见的好几种类型:小写的bool,大写的BOOL ,还有VARIANT_BOOL 。
小写的bool 的是C++ 标准定义的布尔类型, 各个编译器处理的方式不同,Visual C++ 把bool 定为一个字节。小写的true 和 false 也都是C++ 标准定义的关键字。
大写的BOOL 是Windows 里面定义的布尔类型,实质上int, 在 windows 头文件面有定义:
typedef int BOOL;
#define TRUE 1
#define FALSE 0

VARIANT_BOOL 是COM 使用的布尔类型, 其实质上是 short 类型:
typedef short VARIANT_BOOL;
#define VARIANT_TRUE ((VARIANT_BOOL)-1)
#define VARIANT_FALSE ((VARIANT_BOOL)0)

可以看出, 3中BOOL类型的长度不一样,而且TRUE 和 FALSE 的值也不同,在相互转换的时候需要注意。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 职场 编程 休闲