您现在的位置是:首页» windows系统» 布尔类型的类型名是什么,布尔类型的实例

布尔类型的类型名是什么,布尔类型的实例

2024-07-13 01:32:38
本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。这个问题,一直深深地困扰着我。我们经常看到关于布尔类型的各种定义:BOOL, VARIANT_BOOL,BOOLEAN,bo

本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。

这个问题,一直深深地困扰着我。我们经常看到关于布尔类型的各种定义: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,

这个类型主要是由Visual Basic语言开发者开发的。在VB中使用了-1来表达”true”,而使用0来表达”false”,VARIANT_BOOL类型就是用来实现这种定义。

常见的错误

当操作VT_BOOL类型的VARIANT变量时,如果你想将它设置为布尔值true,则你必须将它设置为VARIANT_TRUE。许多人都会错误地将它设置为TRUE或者true,但是它和VARIANT_TRUE不是一回事儿。如果你在脚本语言环境中这样使用,则调用方会感到困惑。(类似的,你还应该使用VARIANT_FALSE而不是 FALSE 或 false。但在这种情况下,这三个名称都具有相同的数值。因此,操作布尔值“false”的时候,问题不是很大。)

最后是bool。这个是C++里的数据类型,它的值可以是true或者false。但是在Win32中,你可能不会经常看到它,因为Win32在设计上会考虑尽量和C语言保持兼容。

另外需要注意的是,我们所说的C语言兼容和C语言友好不是一回事儿。尽管你可以在C中开发COM组件,但是,相信我,这并不是一件好玩的事儿。

总结

反正,今天终于算是搞明白了各种布尔类型,妈妈再也不用担心了。要是从一开始,布尔true统一使用数字1,布尔false统一使用数字0,世界该多美好。在拓扑梅尔智慧办公平台(Topomel Box)中,我就一股脑的使用数字1和0来表达布尔类型的语义,世界瞬间就清净了。咱弄简单点儿,它不香吗?

最后

Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。本文来自:《BOOL vs. VARIANT_BOOL vs. BOOLEAN vs. bool》

XTw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com

标签: 几个 布尔 变种