关于bool和BOOL一些问题的搜集
理论上是不一样的,但你不必去刻意区别他们。
TRUE,FALSE是C语言里的东西。C语言语法规则里有bool型数据类型,但设计C编译器时没有设计bool型这个数据类型,因此它定义了两个宏来表示bool型数据TRUE被定义为1,FALSE被定义为0。请记住TRUE,FALSE是宏,他们被定义在stdlib.h头文件中。因此,如果你的程序没有包含stdlib.h,编译器是不认识TRUE,FALSE的。同时,C编译器永远也不认识true,false。
到了C++,他的编译器设计了bool型数据,也就是true,false。因此true,false是C++中的关键字,不用包含任何头文件,C++编译器都会认识。同时C++对C是兼容的,因此只要你包含了stdlib.h头文件,TRUE,FALSE也是被C++认可的。
建议:在C++中坚持使用true,false!!
TRUE,FALSE在不同的系统下占用的内存是不同的。
true,flse是一个byte.在不同的系统下是相同的。
不一样
BOOL b = 3; (BOOK <=> UINT)
b可以!=TRUE,也可以!=FALSE
如果你用if(b)的话可以说是一样的
如果用if(b==TRUE)或if(b==FALSE)的话,那么是不一样的
搜索更多相关主题的帖子:
bool BOOL FALSE 编译 TRUE