很菜的问题:TRUE,FALSE,true,false VC里,大写的TRUE,FALSE和小写的true,false是一样的吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 理论上是不一样的,但你不必去刻意区别他们。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 是win32中使用的类型true,false是vc中使用的类型 补充:TRUE,FALSE在不同的系统下占用的内存是不同的。true,flse是一个byte.在不同的系统下是相同的。 不一样BOOL b = 3; (BOOK <=> UINT)b可以!=TRUE,也可以!=FALSEbool b;b!=true那么b=false 如果你用if(b)的话可以说是一样的如果用if(b==TRUE)或if(b==FALSE)的话,那么是不一样的 1.FALSE/TRUE与false/true的区别: false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define,这要用途是解决程序在C与C++中环境的差异,以下是FALSE/TRUE在windef.h的定义:#ifndef FALSE#define FALSE 0#endif#ifndef TRUE#define TRUE 1#endif也就是说FALSE/TRUE是int类型,而false/true是bool类型;所以两者不一样的,只不过我们在使用中没有这种感觉,因为C++会帮你做隐式转换。2.bool的大小与BOOL的区别:bool在C++里是占用1字节,而BOOL是int类型,int类型的大小是视具体环境而定的;所以来说:false/true只占用1个字节,而TRUE/FALSE视具体环境而言,以下是BOOL在windef.h中的定义:typedef int BOOL; 函数的问题。。。 再问字符集转换问题,高手请进。在线等。 一个组播和抓包软件问题 文件加密与解密的问题 ASSERT_VALID(m_pViewActive)出错是怎么回事? 〓〓〓〓 散分庆祝自己成为VC/MFC版大斑竹(试用期内)——1〓〓〓〓 在DLL中PostThreadMessage发送消息成功,为什么接收线程没有收到该消息??? 请问这个error LNK2001是怎么导致的呀?恳请指教,万分感谢! 这样的情况考虑线程安全吗? CTreeCtrl控件底层不同子节点标示不同图标//是Map容器实现对应关系的? 谁能给我个DLL的例子? 有谁知道下面这个函数
true,false是vc中使用的类型
TRUE,FALSE在不同的系统下占用的内存是不同的。
true,flse是一个byte.在不同的系统下是相同的。
BOOL b = 3; (BOOK <=> UINT)
b可以!=TRUE,也可以!=FALSEbool b;
b!=true那么b=false
如果用if(b==TRUE)或if(b==FALSE)的话,那么是不一样的
#define FALSE 0
#endif#ifndef TRUE
#define TRUE 1
#endif
也就是说FALSE/TRUE是int类型,而false/true是bool类型;所以两者不一样的,只不过我们在使用中没有这种感觉,因为C++会帮你做隐式转换。2.bool的大小与BOOL的区别:bool在C++里是占用1字节,而BOOL是int类型,int类型的大小是视具体环境而定的;所以来说:false/true只占用1个字节,而TRUE/FALSE视具体环境而言,以下是BOOL在windef.h中的定义:typedef int BOOL;