bool,_Bool和BOOL的区别

2018-01-16   创建人:Ruo_Xiao
开发环境:VS2010

一、源代码

#include "stdafx.h"
#include using namespace std;int _tmain(int argc, _TCHAR* argv[])
{bool isOK1 = true;_Bool isOK2 = false;BOOL isOK3 = TRUE;cout<<"sizeof(bool) = "<<sizeof(bool)<cout<<"isOK1 = "<cout<cout<<"sizeof(_Bool) = "<<sizeof(_Bool)<cout<<"isOK2 = "<cout<cout<<"sizeof(BOOL) = "<<sizeof(BOOL)<cout<<"isOK3 = "<cout<cin.get();return 0;
}

结果:
这里写图片描述

typedef int                 BOOL;#ifndef FALSE
#define FALSE               0
#endif#ifndef TRUE
#define TRUE                1
#endif

二、总结

由以上信息可知:

  1. bool和_Bool都占1个字节,标准赋值为“true”和“false”,但是二者在机器中被表示成了“1”和“0”。
  2. BOOL、TRUE和FALSE,定义于WinDef.h头文件中。实际上BOOL为int型,占4个字节,标准赋值:TRUE和FALSE。TRUE和FALSE在预处理阶段都会分别被1和0替换。
  3. 额外:
    (1)bool:C++中关键字,布尔类型。
    (2)_Bool:C99中的关键字,布尔类型。(K&R C、ANSI C、C95都没有自己的布尔类型)
    (3)BOOL:是微软定义的布尔类型。。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部