如何正确将BOOL转bool

原创 2015年11月19日 11:13:58
void main() {
	//BOOL bRet = -1; //输出的是"ERROR\n" "true\n"
	//BOOL bRet = 0;  //输出的是"FALSE\n" "false\n"
	//BOOL bRet = 1;  //输出的是"TRUE\n" "true\n"
	BOOL bRet = 2;  //输出的是"ERROR\n" "true\n"
	if (bRet == TRUE) {
		cout << "TRUE\n";
	} else if (bRet == FALSE) {
		cout << "FALSE\n";
	} else {
		cout << "ERROR\n";
	}

	//bool bret = (bRet == TRUE);
	bool bret = bRet;	
	if (bret == true) {
		cout << "true\n";
	} else if (bret == false) {
		cout << "false\n";
	} else {
		cout << "error\n";
	}
		
	while (1);
}
原因:
1、BOOL类型的值分辩(0和1);值为0表示FALSE,为1表示TRUE,为其余都是ERROR。BOOL一般有4个字节。
2、bool类型的值分辩(0和非0);值为0表示false,为其余都是true。bool只有一个字节。

结论:

1、所以BOOL转bool的时候应该注意这样转:bool bret = (bRet == TRUE);


版权声明:本文为博主原创文章,未经博主允许不得转载。

条款18:避免使用vector<bool>(转)

做为一个STL容器,vector< bool>确实只有两个问题。第一,它不是一个STL容器。第二,它并不容纳bool。除此以外,就没有什么要反对的了。一个东西不能成为STL容器只因为会有人会说它是。一...

c++中为什么不提倡使用vector<bool>(转)

vector< bool> 并不是一个STL容器,不是一个STL容器,不是一个STL容器!首先vector< bool> 并不是一个通常意义上的vector容器,这个源自于历史遗留问题。 早在C+...

pl0 bool增添的短路

  • 2012年07月20日 10:38
  • 332KB
  • 下载

MFC中UpdateData( bool b)函数的用法---控件变量与数值

MFC中UpdateData( bool b)函数的用法(ZT) UpdateData只有一个BOOL类型的参数,UpdateData(FALSE)一般用于对话框控件连接的变量值刷新屏幕...

C#中的bool类型的学习与应用

  • 2011年07月12日 16:15
  • 59KB
  • 下载

C#中bool类型的分析好好学习

  • 2011年07月12日 16:14
  • 25KB
  • 下载

C语言基础---BOOL 类型,运算符,if 语句,switch语句

一 BOOL布尔类型 1.BOOL 数据类型,是一种表示非真即假的数据类型,布尔类型的变量只有 YES 和 NO 两个值.YES 表示表达式为真, NO 表示表达式为假. 2.在 C语言中,认为非...

WPF的bool2Visibility转换器使用

  • 2015年02月16日 16:02
  • 52KB
  • 下载

编译原理-课程设计-bool条件语句

  • 2012年02月23日 11:58
  • 377KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何正确将BOOL转bool
举报原因:
原因补充:

(最多只允许输入30个字)