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
二、总结
由以上信息可知:
- bool和_Bool都占1个字节,标准赋值为“true”和“false”,但是二者在机器中被表示成了“1”和“0”。
- BOOL、TRUE和FALSE,定义于WinDef.h头文件中。实际上BOOL为int型,占4个字节,标准赋值:TRUE和FALSE。TRUE和FALSE在预处理阶段都会分别被1和0替换。
- 额外:
(1)bool:C++中关键字,布尔类型。
(2)_Bool:C99中的关键字,布尔类型。(K&R C、ANSI C、C95都没有自己的布尔类型)
(3)BOOL:是微软定义的布尔类型。。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
