看流星社区

 找回密码
 注册账号
查看: 1701|回复: 1

关于变量 bool BOOL VARIANT_BOOL区别

[复制链接]

该用户从未签到

发表于 2020-2-27 10:05:34 | 显示全部楼层 |阅读模式


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 的值也不同,在相互转换的时候需要注意。

  • TA的每日心情
    难过
    2023-2-25 20:36
  • 发表于 2020-3-1 14:55:43 | 显示全部楼层
    支持楼主,支持看流星社区,以后我会经常来!
    点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
    您需要登录后才可以回帖 登录 | 注册账号

    本版积分规则

    小黑屋|手机版|Archiver|看流星社区 |网站地图

    GMT+8, 2024-3-29 20:46

    Powered by Kanliuxing X3.4

    © 2010-2019 kanliuxing.com

    快速回复 返回顶部 返回列表