[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 的值也不同,在相互转换的时候需要注意。
小写的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 的值也不同,在相互转换的时候需要注意。
相关文章推荐
- [Windows编程] C++中 bool,BOOL ,VARIANT_BOOL 的区别
- [Windows编程] C++中 bool,BOOL ,VARIANT_BOOL 的区别
- C++和C在linux下编程和与在WINDOWS下有什么区别
- C++中 bool,BOOL ,VARIANT_BOOL 的区别
- C++和C在linux下编程和与在WINDOWS下有什么区别
- C++和C在linux下编程和与在WINDOWS下有什么区别
- 使用 C++ 的托管扩展针对 Windows 窗体编程
- socket编程之UDP(windows环境下C++实现)
- C++成员函数实现在类定义中与在类定义外的区别(Windows下直接使用g++)
- C++ c++与C语言的区别(struct类型的加强,函数-变量类型加强,bool类型)
- C++Windows编程之回调机制
- bool,BOOL,VARIANT_BOOL区别
- Windows编程之进程遍历(C++实现)
- Qt c/C++ 混合编程,windows下的网络编程--udp封装(一)
- TCP Socket编程 C/C++实现 (Windows Platform SDK)
- C++中BOOL和bool的区别
- Windows编程 - 启动可执行(exe)程序 代码(C++)
- bool,BOOL,VARIANT_BOOL区别
- Windows编程 MD(d)、MT(d)编译选项的区别
- c++ 图形编程中GDI与DX与OPELGL的区别